問題タブ [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 - jodatime を再コンパイルしますか?
jodatime を使用するのはこれが初めてで、修正方法がわからないスタックオーバーフロー エラーが発生しました。sqlite レコードが作成されてから今日までの日を表示できるようにする必要がある Android アプリを作成しています。私が知る限り、jodatime 以外はすべて正常に動作しています。プロジェクトのビルド時にこのエラーが発生しました
これはlogcatです:
少し調べた後、自分でjodatimeバイナリを再コンパイルする必要があるだけだと思います。私はEclipseを使用しており、新しいプロジェクトを作成し、jodatimeソースをインポートしました。コンパイルしようとすると、コンソールに次のように表示されます。
-src ソース ファイルを読み取る場所を指定します。 -dst 生成されたファイルを書き込む場所を指定します。
ここからどこへ行くべきかよくわかりません。どんな助けでも大歓迎です。御時間ありがとうございます。
オーバーフローからの StackTrace:
DateTimeZone.class ソースはこちら
java - タイムゾーンを含む xs:date を解析して Joda LocalDate にする
日付と時刻を XML ドキュメントから JodaTime オブジェクトに解析する場合、一般的な変換ユーティリティのセットを使用します。通常は、 が提供するパーサーとフォーマッターを使用しorg.joda.time.format.ISODateTimeFormat
ます。
ほとんどの場合、これで問題なく動作しますが、今回xs:date
は format の値を持つドキュメントが表示されます2010-08-19Z
。これは完全に有効な値ですが、私が試しxs:date
た標準生成のパーサーはどれもISODateTimeFormat
それを受け入れません。LocalDate
私が見つけることができる最も近いものはISODateTimeFormat.dateParser()
で、かなり奇妙に見える を受け入れますが、受け入れ2010-08-19TZ
ません2010-08-19Z
( に注意してくださいT
)。
Joda と XML Schema の両方が ISO の日付/時刻の書式設定規則に厳密に従うことになっているのに、どちらかがそうでないか、仕様があいまいであるため、これはすべて非常に腹立たしいことです。
敗北を認めてカスタムフォーマットをハンドロールする前に、ISODateTimeFormat
その値を読み取るソースのパーサーを教えてもらえますか?
datetime - Scalaで日付と時刻を扱う標準的な方法は何ですか? Java 型を使用する必要がありますか?それとも、ネイティブな Scala の代替手段がありますか?
Scalaで日付と時刻を扱う標準的な方法は何ですか? java.util.Date などの Java 型を使用する必要がありますか、それともネイティブな Scala の代替手段がありますか?
datetime - Scalaでjoda-time DateTimeから日/時/分を減算する方法は?
Scala wrapperで joda-time を使用しようとしています。
と言ってval dt
がDateTime
含まれていdate (zero time)
ますが、その前の日付を取得するにはどうすればよいですか? dt - 1.days
動作せず、与える
次のようなスカラ時の例は、それが an のメンバーではない2.hours + 45.minutes + 10.seconds
と言っても機能しません。hours
Int
たとえば、 は のメンバーではないため、 のような Joda-time の例も機能DateTime.dayOfWeek().addToCopy(3)
しません。dayOfWeek
org.scala_tools.time.Imports.DateTime
フォーマットDateTime
された入力と出力は意図したとおりに機能するようです。
更新: NetBeans IDE のバグのようです。エラーが表示されますが、コンパイラは正常にコンパイルされ、プログラムはdt - 1.days
構文で期待どおりに動作します。
java - 文字列がjodatimesDateTimeコンストラクターで解析可能かどうかを確認するにはどうすればよいですか?
DateTime
入力文字列入力をjodatimesコンストラクターで解析できるかどうかを判断する必要がありますが、現時点ではオブジェクトDatetime(Object instant)
の作成には興味がありません。DateTime
コンストラクターを呼び出す以外に文字列が解析可能かどうかを確認し、発生する可能性のある例外をキャッチする方法はありますか?
java - Hibernateの日付変換
エンティティに日付フィールドを設定しているときに、奇妙な休止状態に関連する問題が発生しました。日付はJavaプログラムでUTCとして解釈されます(割り当てられた日付が「UTC」にあることを確認するためにSystem.outを実行しました。ただし、Hibernateが実際にデータベースに保持されると、日付は現地時間に変換されて保存されます)ex 。値はエンティティセッターで「2009-09-0900:08:08」として設定されています-GMTデータベースに保持される実際の値は「2009-09-0808:08:08」-米国東部時間です。どこで、なぜこれが起こっているのか、そしてそれを防ぐ方法を見つけることができません。ありがとう
PS私はjoda日付ライブラリを使用しており、フィールドに@ org.hibernate.annotations.Type(type = "org.joda.time.contrib.hibernate.PersistentDateTime")で注釈を付けています。
java - 2つのjoda-time DateTime値(日付とゼロ時刻を含むものと、時刻とゼロ日付を含むもの)を合計する方法は?
私の Scala 2.8 プログラムでは、joda-time とその scala-time ラッパーを使用しています。2 つの DateTime 値があります。1 つは日付用 (時間フィールドがゼロ) で、もう 1 つは時間用 (日付フィールドがゼロ) です (分離の理由はストレージ アーキテクチャです)。
ソース ペアから日付と時刻の両方の部分が設定された別の DateTime 値を取得するにはどうすればよいですか?
java - joda-time new Period(long) を使用した StackOverflowError
まず、長くなってすみません。おそらくすべてのコードは必要ありませんが、確認したかったのです。
第二に、私の実際の質問は、何か間違ったことをしているのですか、それとも joda-time ライブラリのバグですか?
joda-time (1.6.1) を使用して計算し、期間をフォーマットしようとしています。
私は現在 を使用してPeriod
いますが、これは間違った選択かもしれません。もしそうなら教えてください。しかし、たとえそれが間違った選択であったとしても、私はこれが起こるべきではないと確信しています.
ミリ秒を使用して初期化していPeriod
ます(秒単位の期間に1000を掛けることにより)。を使用しているPeriod
ので、フォーマットして印刷できます。
以下の例外が発生し、ソースを調べてループを確認しました。
期間(長期):
スーパー (長い、PeriodType、年表):
DateTimeUtils.getChronology(クロノ):
ISOChronology.getInstance():
DateTimeZone.getDefault():
forID(String) は、ループを作成する getDefault() を呼び出します。
android - Android で Joda-time を実行するのに問題があります。
私は Android を学んでいて、日付/時刻が必要です。同僚から Joda-time を勧められましたが、これはまさに私が進歩するために必要なもののようです。残念ながら、私はそれを機能させるのに問題があります。
私は intellij を使用しています。これは Android 2.2 です。
私が取った手順:
- Joda-time jar をWeb サイトからダウンロードします。
- Intellij > ファイル > プロジェクト構造 > クラスのアタッチ
- 建てる
次に、次のエラーが表示されます。
警告: EnclosureMethod 属性が関連付けられていない匿名内部クラスの InnerClasses 属性は無視されます。(このクラスは、壊れたコンパイラによって生成された可能性があります。)
ここからどこへ行けばいいのかわからない。助けていただければ幸いです!
java - ユーザーのローカルタイムゾーンに基づいて、特定の時間に毎日のアクションを実行します
私のJavaアプリケーションは、すべてのユーザーに1日1回メールを送信する必要があります。各ユーザーの現地時間に基づいて、午前2時頃に配信したいと思います。したがって、ニューヨークのユーザーは、午前2時のアメリカ/ニューヨークの時間にメッセージを受け取ります。ロサンゼルスのユーザーは、午前2時のアメリカ/Los_Angelesの時間にメッセージを受け取ります。私の郵送プロセスは、1日の1時間に1回実行されます。
HTML5ジオロケーション機能またはIPアドレスジオロケーションを使用して、サインアップ時に各ユーザーのタイムゾーンを自動的に決定する予定です。もちろん、これらの値が正しくない場合、ユーザーはタイムゾーンを手動で変更できます。選択したタイムゾーンを「America/New_York」などのタイムゾーンID文字列としてUserオブジェクトに保存するつもりです。これは文字列としてデータベースに保持されますが、必要に応じて変更できます。
考慮事項:
- 夏時間を考慮する必要があるため、ユーザーは常に午前2時頃にメールを受信します。これは、GMT-8または同様のUTCオフセットをユーザーオブジェクトに保存することはできないことを意味します。ロサンゼルスはGMT-7であり、他の部分はGMT-8です。
- 別のSOの質問には、オフセット情報を保存することを提案する回答がありますが、さまざまな場所の時間が1年を通して変化する可能性があるため、それがどのように機能するかわかりません。世界のどこかでタイムゾーン変更イベントが発生するたびに、すべてのユーザーオブジェクトのタイムゾーンを更新するつもりはありません。
- 私は自分のアプリケーションでJodaTimeを使用しているので、それが役立つ場合はそれを利用できます。
- 私はデータベースクエリにHibernateを使用しており、Javaで数十万のユーザーレコードを処理する必要なしに、Hibernateクエリで処理できるソリューションを見つけたいと考えています。
私はSpringSchedulingcron機能(Quartz経由)を使用して、1日の1時間ごとに1時間の2分後にメソッドを実行しています。現在、私のユーザーのほとんどはAmerica / Los_Angelesにいるので、すべてのメールを太平洋時間の午前2:02に手動で送信するように強制しています。次のメソッドは、毎時1時02分に実行されますが、手動で時刻をチェックし、ロサンゼルスの現在の時刻が2:00時間である場合にのみ続行します。これは、他の場所のユーザーが午前2時とは異なる時間にメールを受信することを意味します。
したがって、必要なのは、Userオブジェクトのタイムゾーンに基づいて、午前2時の現地時間を持っているすべてのユーザーを取得するデータベースクエリを実行することです。これを達成する方法について何か考えはありますか?