Datetime SAS中的日期时间格式,可以';不能在Excel 2007中导出
早上好 SAS中的一个程序将在许多表中选择/合并/排序字母数字值(例如:14-Jan-2013 07:00:00.479)中的日期/时间,并创建一个表。 该程序使用指令“format E8601”和“format type$10”后面的几行。; 信息类型$10.,“是什么将日期转换为数值(例如:2013-01-14T07:02:03.647)。 在Excel 2007中导出此表时,该值将变为“”,并且不能以传统的日期/时间格式进行修改 怎么做?是否有其他格式(代替E8601)可用于以文本或字母数字值保存日期Datetime SAS中的日期时间格式,可以';不能在Excel 2007中导出,datetime,sas,Datetime,Sas,早上好 SAS中的一个程序将在许多表中选择/合并/排序字母数字值(例如:14-Jan-2013 07:00:00.479)中的日期/时间,并创建一个表。 该程序使用指令“format E8601”和“format type$10”后面的几行。; 信息类型$10.,“是什么将日期转换为数值(例如:2013-01-14T07:02:03.647)。 在Excel 2007中导出此表时,该值将变为“”,并且不能以传统的日期/时间格式进行修改 怎么做?是否有其他格式(代替E8601)可用于以文本或字母数
感谢您的帮助。SAS日期时间值在内部表示为浮点值,等于自1960年1月1日以来的秒数<代码>格式用于控制这些数值的外部表示方式。例如,考虑这一点:
data have;
myDateTime1 = '14-Jan-2013 07:00:00.479'dt;
myDateTime2 = '14-Jan-2013 07:00:00.479'dt;
myDateTime3 = '14-Jan-2013 07:00:00.479'dt;
format myDateTime2 datetime23.3
myDateTime3 E8601DT23.3;
put myDateTime1= 'as a number'
/ myDateTime2= 'as a normal SAS datetime'
/ myDateTime3= 'as an ISO 8601 datetime'
;
run;
运行时,这将显示在SAS日志中:
myDateTime1=1673766000.5 as a number
myDateTime2=14JAN2013:07:00:00.479 as a normal SAS datetime
myDateTime3=2013-01-14T07:00:00.479 as an ISO 8601 datetime
注意三个myDateTime
变量的值相同,但根据指定的格式显示不同
假设您有许可的PC文件格式的SAS访问权限,您可以使用PROC EXPORT
创建Excel工作簿:
proc export data=have
outfile='c:\temp\test_dates.xlsx'
replace;
run;
Excel工作簿中格式为“datetime”值的两个变量的数据值将正确显示为Excel列。但是,Excel中的默认格式仅显示“日期”部分;要在Excel中显示完整的值,您需要更改Excel列格式。字母数字是指字符串?你读过这个吗?您可以创建一个类似put(dt,datetime)的字符串。您如何导出它(您的代码是什么和/或您使用的向导是什么)?