将提示类型 `Timestamp` 更改为 24h

问题描述 投票:0回答:1

我在 SAS 程序中创建了一个提示,类型为

Timestamp

当我运行程序时,宏变量
DT
的格式变为
07Dec2023 11:50:07

为了运行我的查询,我需要格式
YYYY-MM-DD HH24:MI:SS

是否可以将宏变量

DT
格式化为
YYYY-MM-DD HH24:MI:SS

非常感谢任何帮助。

sas timestamp format prompt
1个回答
0
投票

您想将 DATETIME 信息可以读取的字符串转换为该样式的字符串吗?

然后首先将字符串转换为日期时间值。然后构造新的字符串。

我认为没有一种格式可以生成确切的模式字符串。因此,您使用产生类似模式的格式并对其进行修改。或者分别生成日期和时间部分并将它们放在一起。

示例:

%let want=%sysfunc(putn("&dt"dt,E8601DN10.)) %sysfunc(putn("&dt"dt,tod8.));

结果

1    %let dt=07Dec2023 11:50:07;
2    %let want=%sysfunc(putn("&dt"dt,E8601DN10.)) %sysfunc(putn("&dt"dt,tod8.));
3
4    %put &=dt &=want;
DT=07Dec2023 11:50:07 WANT=2023-12-07 11:50:07
© www.soinside.com 2019 - 2024. All rights reserved.