2020年の日付形式エラー日付の形式がいくつか異なるデータのセットがあり、日付を1つの形式に変換する新しい列を作成しています。 日付はd / m / yh:m:s形式です。 スクリプトを実行すると、2019年の日付はすべて正常に変換されますが、2020年の日付は月の日付が逆になります。 列情報に移動して設定を手動で変更すると、正常に機能します。 JSL内で正しい形式を保持するために何ができますか?
日付時刻
5/1/2020 1:10
5/1/2020 1:10
5/1/2020 1:10
30-12-2019 14:01:18
30-12-2019 14:01:18
30-12-2019 14:01:18
新しい列( "DateTime2"、numeric、"Continuous"、format( "d / m / yh:m:s"、22,0)、input format( "d / m / yh:m:s"、0)) ;
各行に対して(:DateTime2 = num(:DateTime));
DateTime DateTime2
5/1/2020 1:10 01/05/05 2020 1:10:00 AM
5/1/2020 1:10 01/05/05 2020 1:10:00 AM
5/1/2020 1:10 01/05/05 2020 1:10:00 AM
30-12-2019 14:01:18 30/12 / 2019 2:01:18 PM
30-12-2019 14:01:18 30/12 / 2019 2:01:18 PM
30-12-2019 14:01:18 30/12 / 2019 2:01:18 PM
Re: 2020 年の日付形式エラー入力した日付は文字データであり、num() 関数を使用して日付の形式を推測しています。informat 関数を使用して形式を指定します。データの中には秒が含まれるものと含まれないものがあります。正規表現を使用して、秒が含まれる可能性のある場所まですべてを保持できます。\d+ は 1 つ以上の数字に一致し、\D は数字以外と一致します。
Informat( Regex( :datetime, "\d+\D\d+\D\d+\D\d+\D\d+" ), "d/m/y h:m" )
JMP はあいまいな日付に対して m/d/y を推測します。2019 年のサンプルの日付はあいまいではありません。
the datetime column is character data, column2 is a formula column日時列は文字データ、列2は数式列です
Column 2 formula列2の式
再:2020年の日付形式エラーありがとう、Craige。 あなたは正しいです、2019年の年末の入力のために日付はあいまいではありませんでした。 良いキャッチ。
正規表現については考えていなかったので、そこにあるあなたの洞察にも感謝します。
Re:2020の日付形式エラー式をありがとう。
私は秒を必要としたので
Informat(
Regex( :Name( "Time-court" ), "\d+\D\d+\D\d+\D\d+\D\d+\D\d+" ),
"d/m/y h:m:s:sc"
)
Re:2020の日付形式エラーよろしくお願いします。ご利用いただきありがとうございます。
データがすべて同じ形式の場合、regex(...)は必要ない場合があります。元の質問では、一部の値には秒があり、一部にはなかった。時間と分のみを保持することにより、hh:mm形式がすべての時間で機能します。
重要な部分は、日付を読み取るための適切な形式を指定することです。