回复:需要字符到日期時間轉換的幫助如果你有 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 個可比較的日期時間列,就根據第二個表(或連接)更新表
注意:我嘗試了一些嘗試,到目前為止還沒有成功。 感謝您的幫助。
謝謝
質量和工藝工程