我有一个名为post_time的变量,它的字符类型为
Type : Character
Length : 5
Foramt : $5.
Informat : $5.
例如:00300,01250
我如何从中获得时间?有人可以帮助我吗? 需要时间看起来像03:00 AM 12:50 PM 需要在标准时区显示所有时间
答案 0 :(得分:4)
SAS将通过HHMMSS信息直接与此合作。
data _null_;
x = input('02100',HHMMSS5.);
put x= timeampm9.;
run;
任何时区问题都可以使用时区敏感格式(如NLDATMTZ。)和/或TZONES2U或TZONEU2S函数进行处理,这些函数与DATETIME一起使用,但如果您从未使用,则可以使用您的时间值跨越日期边界(虽然使用有风险的时区)。
有关更详细的说明,请参阅SAS Documentation page on Timezones。
答案 1 :(得分:0)
假设前三位是小时,后两位是分钟,这可能有效:
data have;
input time $;
cards;
00300
00400
00234
;
run;
data want;
set have;
time_var=hms(
input(substr(time, 1,3), 3.),
input(substr(time, 4,2), 2.),
0);
format time_var timeampm8.;
run;