問題タブ [jodatime]
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.
java - 01.04.1893 の Joda DateTime の奇妙な結果
私のタイムゾーンは CET (ベルリン) です。
Joda の DateTime をテストしているときに、いくつかの奇妙なことに気付きました。
タイム ゾーンが 6 分 32 秒ずれて、時間が存在しなくなりますか??
タイムゾーン情報を指定していなかったため、この種の問題が発生するとは予想していなかったため、これは非常に予想外であると言わざるを得ません。
1893 年 3 月に CET (ベルリン) が存在しない場合new DateTime(1893, 3, 31, 0, 0, 0, 0)
、指定した時刻 (つまり、0 分 0 秒) に一致するタイム ゾーンを選択しないのはなぜですか?
DateTime で正しい時刻を取得するためのオプションは何ですか?
-- 編集 --
問題は toDate() のようです。質問を投稿する前に編集しました。
Joda 自体は実際には問題なく動作します。
Date への変換によって、オフセットの一部が分と秒に移動されるだけです。
java - アプリレイヤー間でJodaTimeオブジェクトを渡す
Joda-Timeの使用を検討しています。
インターフェイスが返すオブジェクトの種類に注意を払う必要があるかどうか疑問に思っています。
サービスレイヤーのインターフェイスシグネチャからJoda-Timeオブジェクトを返すということは、それを使用するすべてのモジュールが、共通のjava.util.DateAPIではなくJoda-Timeに依存することを意味します。
アプリモジュールの周りにJodaオブジェクトを渡しますか、それともアプリの特定の部分にラッパーを記述しますか?
java - 年/月/日/時間の開始と終了の検索
私は次の断片を使用して、Jodaのいくつかの期間の開始と終了を見つけています。私の左肩の小悪魔はそれが行く道だと言っています...しかし私は彼を信じていません。
ジョーダの経験がある人は、簡単に見て、小さな男が正しいと教えてもらえますか?
(UTC日時オブジェクトにのみ使用されます)
ありがとうございました!
grails - TimeZone変換を使用したJodatime groovy/grailsの日付範囲検索
現在、Joda DateTime (Datetime+TimeZone) 値をデータベースに保存しています。
私がやりたいことは、UTC 時間ではなく、ユーザーのタイムゾーンに基づいて 24 時間のレコードを取得することです。IEタイムゾーンがGMTの人は00:00GMT-24:00GMT、タイムゾーンがPSTの人は00:00PST-24:00PSTの間のレコードを取得したい。
明らかに、HQL は DateTime.toDateTime(toZone) 変換を実行しないため、HQL クエリでこれを実行できるとは思いません。groovy/grailsでこの種の範囲検索を実行することは可能ですか?
java - 部分的に構築されたオブジェクト/マルチスレッド
マルチスレッドに関して評判が良いので、私はjodaを使用しています。たとえば、すべてのDate / Time / DateTimeオブジェクトを不変にすることで、マルチスレッドの日付処理を効率的にすることができます。
しかし、これは、Jodaが本当に正しいことをしているのかどうかわからない状況です。たぶんそうですが、説明を見てとても興味があります。
DateTimeのtoString()が呼び出されると、Jodaは次のことを行います。
すべてのフォーマッターはスレッドセーフです(それらも不変です)が、フォーマッターファクトリーについてはどうですか?
これはシングルスレッドアプリケーションでは一般的なパターンですが、マルチスレッド環境ではエラーが発生しやすいことが知られています。
次のような危険があります。
- nullチェック中の競合状態->最悪の場合:2つのオブジェクトが作成されます。
これは(通常のシングルトンパターンの状況とは異なり)単なるヘルパーオブジェクトであるため、問題ありません。一方はdtに保存され、もう一方は失われ、遅かれ早かれガベージコレクションされます。
- 静的変数は、オブジェクトの初期化が完了する前に、部分的に構築されたオブジェクトを指している可能性があります
(私をクレイジーと呼ぶ前に、このウィキペディアの記事で同様の状況について読んでください。)
では、Jodaは、部分的に作成されたフォーマッターがこの静的変数で公開されないようにするにはどうすればよいでしょうか。
説明ありがとうございます!
レト
java - Joda-Time: DateTime、DateMidnight、および LocalDate の使用
Joda-Timeライブラリにはさまざまな日時クラスが含まれています
Layered Applicationsでこれらのクラスをどのように使用しているのか疑問に思っています。
アプリケーションがタイムゾーンを管理する必要がなく、時間を常に UTC で安全に想定できるように、(少なくともサービス層で) LocalDateTime を使用するほぼすべてのインターフェイスを持つことには利点があります。私のアプリは、DateTime を使用して、実行のフローの最初でタイムゾーンを管理できます。
また、DateMidnight がどのシナリオで役立つのか疑問に思っています。
java - Joda time : String を LocalDate に変換するには?
文字列から日付のみを変換する書式文字列の指定方法。私の場合、日付部分のみが関連しています
DateTime
失敗するように構築する:
エラーありjava.lang.IllegalArgumentException: Invalid format: "2011-04-17" is too short
おそらく、LocalDate
代わりに使用する必要があるためです。しかし、 のフォーマッタは見当たりませんLocalDate
。String dateString = "2009-04-17";
変換する最良の方法は何ですかLocalDate
(または、それが正しい表現でない場合は別のもの)
ありがとう...
gwt - クライアント(GWT)からサーバー(Joda Time)にタイムゾーンを渡す
クライアント(ブラウザー)でGWTを使用し、サーバーでJodaTimeを使用しています。ユーザー(つまりブラウザー)のタイムゾーンに基づいた時間境界を使用して、リクエストが受信される日(つまり、00:00:00から23:59:59まで)に制限されたDBルックアップを実行したいと思います。
だから私はGWTコードnew java.util.Date()
にリクエストの時間を取得してサーバーに送信するように指示します。次に、JodaTimeを次のように使用します。
もちろん問題はtoDateMidnight()
、指定されたTimeZoneがない場合、システム(つまりサーバー)のTimeZoneを使用することです。私は、TimeZoneをブラウザからサーバーに渡す簡単な方法を見つけることを試みてきました。GWTでは、GMTオフセットを次のように取得できます。
その結果、「-0400」のようになります。しかし、Joda TimeDateTimeZone.forID()
は、「America / New_York」のような形式の文字列、または時間と分の整数引数を必要としています。もちろん、「-0400」を-4時間0分に解析することはできますが、これを行うためのより簡単な方法はないかと思います。
c# - C#で日付式を処理するライブラリ?
日付式に基づいて日付を計算するためにどのライブラリを使用できますか?
日付式は次のようになります。
- 「+3D」(プラス3日)
- 「-1W」(マイナス1週間)
- 「-2Y+2D + 1M」(マイナス2年プラス1日プラス1ヶ月)
例:
到着予定日が現在の日付に3日を加えたものに等しい場合。
JodaTimeとNodaTimeについて聞いたことがありますが、これを行うものはまだ見ていません。C#でこの機能を取得するには何を使用する必要がありますか?