问题:
我的时间戳是用科学符号显示的。我想在没有科学符号的情况下显示该列,并创建第二列,格式为长日期,yyyy/mm/dd :mm:ss。
采取的步骤:
我已经将列从UNIX (1960)时间戳转换为SAS time (1970)时间戳。但科学符号仍然存在。我试过date20。也不起作用。
当前代码不足,无法将时间戳列格式化为日期。
proc print data=heart._23a;
format timestamp date9.;
run;
结果:
它不会导致错误,但会导致将我的矩阵恢复到1x3。我需要获得一个相同维度的矩阵,只需要一个重新格式化的时间戳。我感谢任何帮助,但请保持简单,我是在未知的领域!
发布于 2016-07-05 19:05:23
datetime17.
是SAS中的标准时间戳格式,尽管您还有许多其他选择。我相信,ymddttm.
是最接近你想要的东西。
这里的一个重要区别是: SAS有两个概念,date
和datetime
。date
是自1960年1/1/1960以来的天数,没有时间部分,而datetime
是自1/1 1960 00:00:00以来的秒数,同时具有时间和日期。可以使用datepart
转换datetime ->日期,也可以使用dhms
转换date -> datetime。
你的问题似乎也使这两个时代倒退了。UNIX时代是1970年。SAS时代是1960年。
最后,如果要显示原始秒数,请使用w.d
格式而不是bestw.d
格式--例如,w
是字符数(数字)的总和,包括十进制。
https://stackoverflow.com/questions/38208722
复制相似问题