如何正确地将数字列转换为日期列?你好,
我有一个日期列,格式为“ yyyymmdd”。 日期示例如下:20000111。 当我从csv导入数据到JMP时,此列被视为连续的数字。 我将其格式设置为date-yyyymmdd,并意识到将其视为1904/1/1之后的20000111秒。 我将列更改为字符,标称值,并尝试使用informat()进行转换,但无法使其正常工作。 该脚本如下所示:Informat(:New_Date,“ yyyymmdd”)New_Date是列的名称。 我最后有一个空白列。 尝试使用Char(New_Date)将New_Date转换为字符串。 那会返回点。 无法理解为什么无法完成如此简单的任务。 顺便说一句,我不了解JSL,并且使用了公式工具
谢谢!
分析工具数据表脚本编写回复:如何将数字列正确转换为日期列?由于您将“ New Date”列设为字符串,因此使用此公式应该可以:

假定日期始终是两个字符(因此第一个将是01),月份始终是两个字符,而年份始终是4个字符。
回复:如何将数字列正确转换为日期列?这是一个示例,其中列值(在这种情况下仅填充一行)是数字,并且在您指定的结构中。

要将其更改为正确的JMP日期/时间列,这就是我的操作方法。
首先打开相关列的“列信息”对话框

为了使JMP使用将20001101转换为日期/时间值的Informat识别此问题,输入列必须为字符,因此将数据类型更改为字符,然后单击应用。

现在返回打开的“行信息”对话框,并将“数据类型”更改为“数值”,然后从格式列表中选择“ yyyymmdd”格式。 再次单击“应用”

请注意,在上图中,显示的值保持不变。这是因为显示格式为“ yyyymmdd”。另请注意,该列已更改回数字。
要验证它是否是真正的“ JMP日期/时间”列,可以将显示格式更改为其他“日期”格式。因此,请返回“列名信息”对话框,然后选择其他日期格式。在我的示例中,选择了“ m / d / y”格式。然后点击申请

可以看出,正确的日期显示为01/11/2000。
现在,只需单击“确定”,即可根据需要对列进行转换。