簡體   English   中英

為什么SAS EG和SAS DI中FINFO function的返回字符串格式不同

[英]Why return string format for FINFO function in SAS EG and SAS DI is different

我正在嘗試獲取文件“修改后的”日期時間

datetimeString = finfo(fid,'Last Modified');``

在 SAS EG 中,返回字符串類似於12Jan2023:11:03:53

但是在 SAS DI 中,返回字符串看起來像12 January 2023 11:03:28

我正在嘗試將字符串轉換為如下所示的日期時間,顯然它不適用於 EG 並拋出無效參數錯誤。 moddate=input(finfo(fid,'Last Modified'),datetime20.);

我可以通過在 DI 中編寫一些額外的代碼來解決這個問題,但想知道為什么finfo(fid,'Last Modified'); 返回不同的字符串格式?

我在數據步驟中工作。

使用不同的格式

37         data _null_;
38            x = '12 January 2023 11:03:28';
39            moddate=input(x,datetime20.);
40            moddate2=input(x,anydtdtm30.);
41            put 'NOTE: ' (mod:)(=datetime.);
42            run;

NOTE: Invalid argument to function INPUT at line 39 column 12.
NOTE: moddate=. moddate2=12JAN23:11:03:28

在兩個不同的 SAS 會話中檢查 LOCALE 選項的設置。

您可以使用 NLDATM 信息格式讀取 FINFO() 生成的字符串

SAS NLDATM 信息格式文檔

使用 NLDATM 信息格式從 FINFO() function 獲取日期時間的示例程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM