問題タブ [simpledateformat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
161934 参照

java - JavaでDateFormatを使用して月の完全な形式の文字列を解析する方法は?

私はこれを試しました:

エラー:

Exception in thread "main" java.text.ParseException: Unparseable date: "June 27, 2007"

Javaのドキュメントによると、完全なフォームに一致させるには4文字を使用する必要があります。MMMは、 「6月」のように短縮された月でしか使用できませんが、完全な形式に一致させる必要があります。

テキスト:フォーマットの場合、パターン文字の数が4以上の場合、完全な形式が使用されます。それ以外の場合は、可能な場合は短縮形または省略形が使用されます。構文解析では、パターン文字の数に関係なく、両方の形式が受け入れられます。

https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

0 投票する
2 に答える
5537 参照

java - 正しくない日付を返すJavaDateFormatおよびSimpleDateFormat

今日は2010年2月9日火曜日ですが、日付を印刷すると間違った日付になります。

印刷行の結果は次のようになります。「今日はSatJan09 00:00:00CST2010」

間違いなく2009年1月の土曜日ではなく、2009年2月の火曜日です。私は何か間違ったことをしていると思います。誰かがここで何が悪いのか教えてもらえますか?曜日を手動で設定する必要がありますか?

更新注: 時間、分、秒、ミリ秒をに初期化する必要があるため、今日はで初期化したくありません。これは、ユーザー入力の日付を今日と比較できるようにするために必要です。ユーザーが今日の日付を入力し、フォーマッターを使用してDateオブジェクトを作成する場合、今日をで初期化して2つの日付を比較すると、今日はユーザーのになります。選択した日付(これは正しくありません)。したがって、今日、hr / min / sec/msなしで1日の始めに初期化する必要があります。new Date()0new Date()

0 投票する
1 に答える
1920 参照

datetime - Groovy Sql と SimpleDateFormat のヘルプ

私のデータベースでは、列の型が datetime です。
列データ例:2009-02-03 19:04:23.0

:SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");を使用して日付形式を定義しています。

私は groovySQL を使用してテーブルを読み取り、行ごとに新しい SampleJ オブジェクトを追加しています (新しいテーブル - SampleJ にマップされています)。

ここで私の閉鎖:

一時テーブル「SampleJ」を確認すると、すべての日付が「${it.date_created}」と一致しません。
すべての日付は「new Date()」に設定されます (クロージャの実行時間まで)。

デバッガー経由:
"${it.date_created}" は "Tue Feb 03 19:04:23 CST 2009" として定義され、(2009-02-03 19:04:23.0) に対応します。私はこの日付を持っている必要があります !

この問題を解決するにはどうすればよいですか? エラーはありません。日付が間違っているだけです。
SampleJ で日付を定義する簡単な方法はありますか?
addSample.dateCreated = dateFormat.parse("${it.date_created}") に代わるものはありますか?

0 投票する
1 に答える
9223 参照

java - TimeZoneとSimpleDateFormatを使用した日付の解析/フォーマットでは、DSTスイッチに関して異なる結果が得られます

GoogleとStackOverflowでTimeZoneとSimpleDateFormatに関する複数の投稿を行いましたが、それでも間違っていることがわかりません。私はいくつかのレガシーコードに取り組んでおり、間違った結果を与えるメソッドparseDateがあります。

使用しようとしているサンプルJUnitを添付して、問題を調査します。

最初のメソッド(testParseStrangeDate_IBM_IBM)は、IBMの実装を使用して、parseDateメソッドの出力をフォーマットします。Sunの実装で出力される2番目のフォーマット。

SunのSimpleDateFormatを使用すると、1時間異なる時間が得られます(これは夏時間に関連している可能性があります)。デフォルトのTimeZoneをIBMの実装に設定すると、parseDateメソッドが修正されます(setupDefaultTZメソッドの3行のコメントを解除するだけです)。

バグではないと思いますが、何か間違ったことをしています。

0 投票する
2 に答える
1122 参照

java - SimpleDateFormat が jdk1.4 で間違った日付を返す

これにより、jdk1.4 で "2500-01-01 00:00:00" が返されますが、これは正しくなく、jdk1.5 では null を返します。

jdk1.4で「2500-01-01 00:00:00」と表示されるのはなぜですか? 日付を解析できない場合、デフォルトでこの日付になりますか?

アップデート:

20110731 を使用すると機能することはわかっています...しかし、07312011 を渡すと、1.4 ではランダムな日付が返され、1.5 では null が返されます。

1.4 で、渡された日付がフォーマットに対応していない場合、デフォルトは 2500-01-01 になりますか?

1.5 で null を返すのはなぜですか?

0 投票する
3 に答える
3742 参照

java - Java SimpleDateFormat と compareTo

SimpleDateFormat クラスと java.util.Date の compareto メソッドについて質問があります。

Date オブジェクトを作成してからフォーマットし、最後にフォーマットされた文字列を解析して元の日付と比較します。

結果:

元の日付:Mon Jan 25 15:43:23 CET 2010 Formatted date: 2010.jan.25 03:43:23 868 originalDate compareTo parsedDate: 1

常に「1」になるのはなぜですか? 元の日付が解析された日付よりも大きいのはなぜですか?

0 投票する
1 に答える
30227 参照

java - SimpleDateFormat パターン文字列でのアルファベット文字の使用

SimpleDateFormat パターン文字列にアルファベット文字を含めることは可能ですか?

たとえば、時間の前に文字「T」が含まれるフォーマット文字列を作成しようとしています。

2003-11-15 T 09:30:47-05:00。

現在yyyy-MM-ddhh:mm:ssZ、パターン文字列として使用しています。

に変更するとyyyy-MM-ddThh:mm:ssZ、「A」から「Z」および「a」から「z」が予約されているため、例外がスローされます。

2 つの DateFormats を使用しないソリューションはありますか?

0 投票する
5 に答える
3830 参照

java - Java SimpleDateFormat()。parse()が奇妙なフォーマットを出力するのはなぜですか?

私の入力は次のように文字列形式です。

私のコードは次のとおりです。

出力は次のとおりです。

その日(太陽)がどこから来たのかわかりませんか?または(AST)?なぜ日付が間違っているのですか?元の文字列の日付と同じ形式を維持し、それをDateオブジェクトにしたかっただけです。

Netbeans6.8Macバージョンを使用しています。

0 投票する
12 に答える
168920 参照

java - 「Z」リテラルで日付を解析するSimpleDateFormat

次のような日付を解析しようとしています。

2010-04-05T17:16:00Z

これはhttp://www.ietf.org/rfc/rfc3339.txtによる有効な日付です。'Z' リテラル (引用符) "は、UTC が指定された時間の優先基準点であることを意味します。 "

SimpleDateFormat とこのパターンを使用して解析しようとすると:

Mon Apr 05 17:16:00 EDT 2010 として解析されます。


SimpleDateFormat次のパターンの文字列を解析できません:

で使用するTimeZoneを明示的に設定してSimpleDateFormat、期待される出力を得ることができますが、それは必要ではないと思います。足りないものはありますか?代替の日付パーサーはありますか?

0 投票する
4 に答える
163312 参照

java - 日付文字列を java.util.Date に解析するときの不正なパターン文字 'T'

私は日付文字列を持っていて、Java Date APIを使用して通常の日付に解析したいのですが、私のコードは次のとおりです:

ただし、例外があります。java.lang.IllegalArgumentException: Illegal pattern character 'T'

文字列を分割して手動で解析する必要があるのでしょうか。

ところで、T の両側に一重引用符を追加しようとしました。

また、機能しません。