我有一列日期。例如08/2000,日期格式。如何将它们转换为数字形式082000?我在互联网上遵循一些准则,但这是不正确的。
ASOFDT_temp=datepart(ASOFDT);
ASOFDT_Num=putn( ASOFDT_temp,'yymmn6.');
答案 0 :(得分:0)
一种好方法是使用VVALUE,如果它们已经有格式。 vvalue
采用变量的格式化值。
ASOFDT_num = input(compress(vvalue(ASOFDT),'/'),6.);
compress
删除斜杠,input
使其成为数字。 putn
无效,因为它会创建一个字符变量(input
- >数字,put
- >字符,几乎总是如此。
答案 1 :(得分:0)
如果原始字段确实是DATE,那么您可以将其转换为适当位置,因为它已经是数字字段。
您可以使用PUT和INPUT函数调用来完成。
asofdt = INPUT(PUT(asofdt,YYMMn6.),6.);
或者你可以使用一点算术。
asofdt = year(asofdt)*100 + month(asofdt);
请记住从变量中清除日期格式,使其看起来像' 08/2000'使用FORMAT语句。
format asofdt ;