回复:需要字符到日期时间转换的帮助如果你有 JMP16+,你可以使用 Format Pattern 来做到这一点

其他模式是这样的-- . 和别的// ::
回复:需要字符到日期时间转换的帮助吉姆,
我把它放在哪里?
我试过它作为一个公式,没有用
我尝试将其输入为“设置格式模式”(如 jthi 的建议b)并且不能输入超过一行。
我使用 JMP 16
谢谢
回复:需要字符到日期时间转换的帮助我有 JMP 16,但没有用。 以下是我的步骤。 如果您能指出错误,将不胜感激。
首先,我将一个公式(之前忘记了)放入
Date1.DateTimeFinalFormat = Date1.Char
将 Date1.DateTimeFinalFormat 日期类型/建模设置为数字和连续
将格式设置为格式模式
取消选中“使用输出格式”
设置格式模式
// ::
在输入端,设置格式模式
-- .
向其发出错误:

回复:需要字符到日期时间转换的帮助我还在输入端将 HH 更改为 hh,将 AMPM 更改为 ampm。
有一次,它接受格式,然后将 Date1.DateTime.FinalFormat 列返回给 Character。
回复:需要字符到日期时间转换的帮助嗨,阿尔图格,
我希望你一切都好——好久不见了!
我假设您是通过脚本来执行此操作的。 JMP 可以原生处理多种日期和时间格式。 在这种情况下,Informat ( ) 函数非常有用,因为它将字符串转换为时间。
您的日期非常接近本机格式。 03-Mar-22 12:13 PM 不是原生格式,但 03/Mar/22 12:13 PM 是!
因此,您需要更改的只是将破折号更改为斜线(“-”变为“/”),将句号更改为冒号(“.”变为“:”)。
替换 ( ) 命令可以为您完成此操作。 完成后,您可以将其包装在 Informat ( ) 中以获得数字日期。 剩下的就是应用您想要的显示格式,即 Locale 格式。
所以这个过程是写一个新的专栏:
a) 有一个公式将 Informat ( ) 包裹在 Substitute ( ) 周围,并且
b) 将输出格式化为您想要的样子,同时仍然保留下面的数字日期。
让我们知道这是怎么回事,
布雷迪
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "FixedDate",
formula( Informat(
Substitute( :"date1.char"n,
"-", "/",
".", ":"
)
) ),
<<FORMAT></FORMAT>

回复:需要字符到日期时间转换的帮助我在 JMP 及其处理日期的方式上遇到过很多问题(尤其是时候) 当用户在 PC 上有不同的设置时。 JMP16+ 使它变得更好一些,但如果用户具有不同的本地设置,它们的调试仍然会很烦人。
“最简单”(也是最强大)的选项总是(在我看来)根据情况从头开始构建日期时间。 获取日期和时间的不同部分,然后例如使用日期 MDY + 时间计算来获取 JMP 日期时间。 获得 JMP 的日期时间后,您可以根据需要对其进行格式化。
您也可以反复试验并尝试首先在脚本编辑器中获得正确的模式:
Names Default To Here(1);
datetime_str = "03-Mar-22 12.13 PM";
show(datetime_str);
datetime = In Format(
datetime_str,
"Format Pattern",
"<DL><DD>-<MMM>-<YY> <HH>.<MM> <AMPM>"
);
show(datetime);
datestr = Format(datetime, "Format Pattern", "<MM>/</MM></AMPM></MM></HH></YY></MMM></DD><DD>/<YYYY> <HH>:<MM>:<SS> <AMPM>");
show(datestr);
// If I couldn't get Format Pattern fairly quickly, I would just give up and write my own
// parser. Something like this might work
datetime_str = "03-Mar-22 12.13 PM";
months = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
date_str = Word(1, datetime_str);
time_str = Word(2, datetime_str);
ampm_str = Word(3, datetime_str);
day_str = Word(1, date_str, "-");
month_str = Word(2, date_str, "-");
year_str = Word(3, date_str, "-");
day_num = Num(day_str);
month_num = Contains(months, month_str);
year_num = 2000 + Num(year_str);
hour_str = Word(1, time_str, ".");
minute_str = Word(2, time_str, ".");
minute_num= Num(minute_str);
hour_num = Num(hour_str);
If(ampm_str == "AM",
if(hour_num == 12,
hour_num -= 12;
);
, ampm_str == "AM",
if(hour_num == 12,
hour_num = 12
,
hour_num += 12
)
);
date_datetime = Date DMY(day_num, month_num, year_num);
time_datetime = In Hours(hour_num) + In Minutes(minute_num);
final_datetime = date_datetime + time_datetime;
As Date(final_datetime);
<P> </P>
<P>如果我必须处理日期和时间,我将始终尝试使用 ISO 格式 YYYY-MM-DD hh24:mm:ss,因为它至少有一些工作的希望,而且你知道月份在哪里而不是幸运的。</P>
<P> </P></AMPM></SS></MM></HH></YYYY></DD></DL>回复:需要字符到日期时间转换的帮助这是一种似乎有效的格式
monList = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
Informat(
Char( Contains( monList, Word( 2, :Date1.Char, "-" ) ) ) || "/" || Word( 1, :Date1.Char, "-" ) || "/" || Word( 3, :Date1.Char, "-" ),
"m/d/y h:m"
);
只有将数据时间区域中的句点更改为分号时,上述 JSL 才有效。
我的建议是使用@brady_brady下面的解决方案。
回复:需要字符到日期时间转换的帮助布雷迪,
已经很长时间了,我希望你过得很好。
您的技术解决方案确实很好,因为它确实运行良好。 到头来,就这么简单。
再次感谢您的支持。
回复:需要字符到日期时间转换的帮助感谢您的支持。 也会尝试这个 - 至少要学得更好。
再次感谢
回复:需要字符到日期时间转换的帮助感谢 txnelson 的支持
字符到日期时间转换需要帮助你好
我附上一个示例单行表。
Date1 列是字符
例如22 年 3 月 3 日 12 点 13 分
IE。 DD-MMM-YY HH.MM 上午/下午
Date2 具有日期时间格式
我需要一个公式,特别是 Date1 将其转换为具有所需格式的 DateTime
月/日/年 HH:MM:SS 上午/下午
(SS,秒将自动为零)
我的目标是一旦我有 2 个可比较的日期时间列,就根据第二个表(或连接)更新表
注意:我尝试了一些尝试,到目前为止还没有成功。 感谢您的帮助。
谢谢
质量和工艺工程