将亚洲日期格式化为短日期亚洲的许多公司输入的日期与美国的不同。 例如,2021 年 12 月 3 日,亚洲公司将其键入为 03/12/2021,但在美国,我们将其键入为 12/03/2021。 我有一张表格,我解析出日期并将其转换为短日期。 但是圆圈是错误的,见下图。 我使用了下面的代码。 如何让 JMP 知道从 Text 列中提取的日期格式为 days_months_year 而不是months_days_year?
dtlog << New Column( "vStart",Numeric,Continous, Formula(Short Date(Num(LEFT(:Text,8))) )

附上数据表。
数据表脚本回复:将亚洲日期格式化为短日期在您的原始 JSL 中,该列自动从数字/连续(您要求的)到字符/名词(因为 shortDate() 返回字符数据。)名义上的在我复制了专栏的脚本后,在我的示例中被选中。
这是一条有用的消息,让您知道字符列中的数据没有被格式化。 它无法告诉您该列是如何成为字符的。
在您的原始示例中,这是在日志窗口中(因为 shortdate() 返回字符):
dtlog << 新列(“vStart”,数字,连续,公式(短日期(Num(LEFT(:Text,8)))))
列“vStart”更改为键入字符以匹配公式。
您附加的图片中还有一个提示:vStart 数据是左对齐的。 JMP 对数值数据使用右对齐,对字符数据使用左对齐。
回复:将亚洲日期格式化为短日期我收到一个错误:

回复:将亚洲日期格式化为短日期谢谢,您的解决方案对我有用!
回复:将亚洲日期格式化为短日期对于列公式使用
Informat( Left( :Text, 8 ), "d/m/y" )
一旦 num(left(text,8)) 完成,再修复它已经太晚了; num() 已经猜到字符串是一个日期并且有时猜到了错误的格式。 每一行都是独立完成的,num() 无法判断它是在中途换马。
告诉信息正确的格式会让你成功。 后半部分是告诉列使用显示格式。 一种合理的检查格式是拼出月份名称的格式。 这是一个完整的新列语句:
New Column( "vStart",
Numeric, "Nominal",
Format( "Date Long", 35 ),
Input Format( "Locale Date" ),
Formula( Informat( Left( :Text, 8 ), "d/m/y" ) )
)
looks correct, Nov and Dec line up.looks correct, Nov and Dec line up.看起来正确,11 月和 12 月排队。
编辑:该输入格式(使用语言环境日期)是愚蠢的,除非您稍后从列中删除公式。 如果您键入一个值,则使用输入格式,但您不能在公式列中键入值。 如果您重新输入“2021 年 12 月 3 日,星期五”,您可能需要区域设置的首选格式。 这格式(使用 Date Long)控制数字的显示格式。 在幕后存储的实际值是自 1 月 1904 年以来的秒数。 这就是信息函数返回。
你可能想要连续的,而不是名义上的。 也许。
回复:将亚洲日期格式化为短日期dtlog << New Column( "vStart", Numeric, Continuous, Formula(Short Date(Num(LEFT(:Text,8)))));
dtlog:vStart << Format( "d/m/y", 12 );
回复:将亚洲日期格式化为短日期嗨,mzwald,
如何将它与我的代码合并?
dtlog << New Column( "vStart",Numeric,Continous, Formula(Short Date(Num(LEFT(:Text,8))) )
回复:将亚洲日期格式化为短日期执行以下步骤:
1.右键单击具有数字日期的 vStart 列
2. 选择“列信息...”
3. 通过单击“最佳 > 日期 > d/m/y”从最佳更改格式
4.点击确定
dtlog:vStart << Format( "d/m/y", 12 );