問題タブ [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 - Joda時間を使用して、開始日と頻度から次の日付を計算する最良の方法
コードで次の支払い日を計算したいと思います。開始日があり、日、週、月、または年である支払い頻度があります。したがって、開始日が 2009 年 2 月 10 日で、支払い頻度が MONTH で、現在の日付が 2009 年 11 月 13 日である場合、次の支払い日は 2009 年 12 月 10 日になります。
これを解決するために、JDKデータクラスを使用していくつかの肉付きの良いコードをすでに書いています。しかし、システムの他の部分を Joda に移行したので、このコードを移行したいと考えています。
では、Joda の達人で簡単に行う方法を知っている人はいますか?
java - ISODateTimeFormat.dateTime()のjavadoc
のjavadocorg.joda.time.format.ISODateTimeFormat.dateTime()
は次のとおりです。
'T'
( )で区切られた完全な日付と時刻を組み合わせたフォーマッタを返しますyyyy-MM-dd'T'HH:mm:ss.SSSZZ
。タイムゾーンオフセットは'Z'
ゼロの場合であり、ゼロ'±HH:mm'
以外の形式です。
「ゼロ」という言葉がどこを指しているのか、どこを指しているのかは私にはわかりません。ゼロどこまたは何?それは私ですか、それともこの文章は不明瞭ですか?
java - Joda-Time を使用したロケールの週の始まり
hibernate - Joda TimeでHQL(Hibernate)の日付を照会する方法は?
HQL に精通している人 (私自身は初心者です) は、この質問に簡単に答えることができると確信しています。
私の Grails アプリケーションには、次のドメイン クラスがあります。
HQL クエリで、リリース日が範囲に含まれる書籍を取得したいdate1
..date2
たとえば、私は試しました:
しかし、例外が...caused by: org.springframework.orm.hibernate3.HibernateQueryException: unexpected token:
発生しましたエラートークンは日付形式を指しています(たとえば2009-11-27T21:57:18.010+01:00
、またはFri Nov 27 22:01:20 CET 2009
)
また、date1 を Date クラスに変換しようとしましたが、成功しませんでした
では、正しい HQL コードは何ですか? patternForStyle メソッドを使用して特定の形式 (どれ?) に変換する必要がありますか?それとも別のクリーンな方法がありますか?
ありがとう、
ファビアン。
java - java.sql.TimeからjodatimeLocalDateを作成します
私はjoda-timeに不慣れで、いくつかの簡単なことを行うための例はどこにも見つかりませんでした。
データベース内のテーブルから読み取った時間値を保存するオブジェクトを作成したい(a java.sql.Time
-eg "18:30:00"
)タイムゾーンは気にしないので、が必要だと思いますLocalDate
。LocalDate
しかし、問題は、そのオブジェクトに基づいてオブジェクトを作成できなかったことTime
です。
私は成功しませんでしたLocalDate.fromDateFields()
、、。DateTimeParser.parseInto()
DateTimeParser.parseDateTime()
編集:私は使用する必要がありますLocalTime
。これらの作品:
java - JodaTime で相対時間を解析できますか?
のような相対文字列を解析して、JodaTime DateTimes を取得できるようnow
にしたいと考えています。yesterday
出来ますか?DateTimeFormat.forPattern であり、英語の相対時間をサポートしていないようで、JodaTime の他の解析オプションはわかりません。
私はscala-timeを使用していますが、実際の JodaTime クラスに簡単にドロップダウンできることを付け加えておきます。
jodatime - API Joda-Time(java) は ISO 8601 を尊重しません: バグまたは機能?
彼らのウェブサイトによると、クラスDUrationはISO 8601を実装しています
http://en.wikipedia.org/wiki/ISO_8601#Durations
しかし、例を見てみましょう。14分51秒の長さです。ISO 8601 では、これらのコードは同等です。
- PT14M51S
- PT891S
PT14M51S は、postgresql データベースの実際の抜粋であり、正しいものです。joda-time api は、すべてを秒単位で変換するだけです。なぜですか? キー文字 S (Y、M、D が存在する...) 以外は何も知らないようです。
前もって感謝します
java - Groovy(またはJava)を使用して、org.joda.time.LocalDateTimeをjava.util.dateに変換するにはどうすればよいですか?
org.joda.time.LocalDateTime
Groovy (または Java) を使用して、aを aに変換するにはどうすればよいjava.util.Date
ですか?
を使用すると、中部標準時 (GMT +6) で 6 時間オフになりますlocalDateTime.toDateTime().toDate()
。java.util.Date
時刻が一致LocalDateTime
するように日付を変換するにはどうすればよいですか?java.util.Date
java - Jodatime - カスタム年表
1日が8時間で構成される期間を計算したいと思います。新しい Chronology を作成することは正しいアプローチですか?
カスタム Chronology を作成して、次のような方法で assemble メソッドをオーバーライドしようとしました。
しかし、それは望ましい効果をもたらしませんでした。
助言がありますか?
前もって感謝します
java - JodaTime を使用して期間を正しく定義する
2 つの日付 (ミリ秒単位) を受け取り、これら 2 つの日付の間の期間を示す文を返すメソッドを作成しました。
今のところ、私はこのコードを持っています:
ただし、JodaTime で間隔を定義する必要がある方法を誤解していると思います。次のテストコードを試してみると:
次の出力が得られますが、これは間違っています (特に日の部分で)。
JodaTime で正しい期間を定義するにはどうすればよいですか?
実際、私が忘れていたのPeriodFormatter
は、週を追加することです。したがって、週を追加すると、次の正しい出力が得られます。
だから私の質問は少し変わります:週+日の代わりに月の日数を表示する方法はありますか? 言い換えれば、代わりに:
私がしたい: