gpt4 book ai didi

datetime - SAS 日期时间格式为 POSIX

转载 作者:行者123 更新时间:2023-12-04 05:05:38 25 4
gpt4 key购买 nike

我希望 SAS 以 POSIX 格式格式化日期时间。以下给出“2009-11-25 14:44:56”如何显示毫秒?

proc format;
picture POSIX other='%0Y-%0m-%0d %0H:%0M:%0S' (datatype=datetime);
run;
data test;
mydatetime='25nov2009 14:44:56.300'dt;
format newdt POSIX.;
newdt=mydatetime;
put mydatetime= newdt=;
run;

编辑:我什至采用任何方式将日期时间格式化为 YYYY-MM-DD HH:M:SS.sss (ISO8601) 太棒了,我在 1 分钟内找不到这个

最佳答案

E8601DT23.3 应该按照你的意愿显示你的值,除了额外的“T”分隔符; SAS 似乎要求这样做。如果您要设置字符值,则可以轻松删除“T”;如果您尝试使用格式化的数值,我认为您将不得不接受它。

data test;
mydatetime='25nov2009 14:44:56.356'dt;
format newdt E8601DT23.3;
newdt=mydatetime;
put mydatetime= newdt=;
run;

ISO8601 的 SAS 指南:

http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a003169814.htm

编辑:SAS-L 解决了这个问题( http://listserv.uga.edu/cgi-bin/wa?A1=ind1303c&L=sas-l#8 )。如果你有 9.3 这应该可以工作(不是在 9.2 或更早版本)。
proc format;
picture POSIX other='%0Y-%0m-%0d %0H:%0M:%0s' (datatype=datetime);
run;
data test;
mydatetime='25nov2009 14:44:56.300'dt;
format newdt POSIX23.3;
newdt=mydatetime;
put mydatetime= newdt=;
run;

小 s,包括小数点,它应该按预期工作。感谢 data null 的提示。

关于datetime - SAS 日期时间格式为 POSIX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15543249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com