首页 > 解决方案 > SAS 在使用 input(date,anydtdtm) 将字符转换为日期时间字段时忽略 AM/PM

问题描述

我有一个字符变量,我们称之为 VARX,它应该变成一个日期时间变量。这些值如下所示:

2017 年 7 月 23 日上午 12:00:00

2016 年 10 月 2 日上午 12:00:00

等等等等。

通常我会做一些类似 input(VARX,anydtdtm) 的事情,它会正常工作。但是,当我尝试使用上面列出的这种方法将 VARX 转换为日期时间变量时,它似乎完全忽略了 AM,并将它们转换为发生在 12:00:00 pm(或 12:00:00 军事时间)的值。

我不知道为什么会发生这种情况,并且想知道是否有人知道如何解决它。

标签: datedatetimeinputsascharacter

解决方案


我想我找到了解决方案,我需要扩大 anydtdtm 函数扫描的范围。因此,应该是 (VARX,anydtdtm22.) 而不是 (VARX,anydtdtm.),因为 VARX 在创建日期时间时最多需要考虑 22 个字符。


推荐阅读