Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 如何在连接sas日期后更正这些日期_Date_Sas - Fatal编程技术网

Date 如何在连接sas日期后更正这些日期

Date 如何在连接sas日期后更正这些日期,date,sas,Date,Sas,我使用了上面的代码,但由于某些原因,som日期是完全关闭的。 这是proc报告输出中不正确日期的一个示例。同样,同一列也会有正确的日期 2068年8月23日 2068年12月21日 有没有关于如何更正日期的建议? 谢谢,你确定\u C4\u、\u C5\u和\u C6\u是日期,而不是日期时间或时间吗 此外,我会尝试使用putn而不是put 如果您有日期时间,请使用dtdate9。格式而不是日期9 compute calc1 / character length=250 ; name= 'ne

我使用了上面的代码,但由于某些原因,som日期是完全关闭的。 这是proc报告输出中不正确日期的一个示例。同样,同一列也会有正确的日期

2068年8月23日 2068年12月21日

有没有关于如何更正日期的建议?
谢谢,

你确定
\u C4\u
\u C5\u
\u C6\u
是日期,而不是日期时间或时间吗


此外,我会尝试使用putn而不是put

如果您有日期时间,请使用dtdate9。格式而不是日期9

compute calc1 /  character length=250 ;
name= 'new date';
calc1 = cats(PUT(_C4_,date9.),' ^n',PUT(_C5_,date9.),' ^n',PUT(_C6_,date9.));
endcomp;

为什么要使用
putn
?这允许您在运行时指定格式,这在某些情况下可能会有所帮助,但不确定它为什么会应用于此处。如果它们是日期时间而不是日期,这可能是您的问题。尝试创建date4=datepart(C4)[和date5/C5、date6/C6一样]。然后在上面的calc1代码中用新的日期变量替换C变量。我认为您需要在问题中提供更多的代码。添加一个数据步骤,创建一些看起来像您的数据的虚拟数据,至少几行,以及完整的过程报告代码(足以看到您显示的结果)。问题可能是您的
PROC报告
或您的数据。此外,我将验证数据集是否包含正确的值。60年后,我认为您可能有来自Excel或MS产品(1900开始日期)的日期在导入时未正确转换。因此,首先创建三个变量date1、date2、date3,它们包含日期,然后我使用define语句,而不是display,我使用noprint选项。这就是造成问题的原因。如果我将显示替换为打印,则新日期显示正确,但这会导致proc报告显示额外的行,因为原始表中的日期位于不同的行中,但我希望它们都位于一行中。请编辑问题以包含我请求的信息(“编辑”问题下方)-不要添加评论。DT将比2068高很多。。。不过要记住这是一件好事。我刚才说他们是datetime20。格式…但你是对的。嗯,这很有趣(我没有看到评论)。也许他们的约会时间真的很短。
calc1 = cats(PUT(_C4_,dtdate9.),' ^n',PUT(_C5_,dtdate9.),' ^n',PUT(_C6_,dtdate9.));