問題タブ [nodatime]
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.
c# - X日での年/月/日のノダタイム計算
678日あるとしたら、その瞬間から何年、何ヶ月、何日あるのか計算する方法は?
c# - EST の代わりに EDT を表示する TimeZone 変換
このコードを使用して、「東部時間帯」を「EST」に変換しています。現在、「EDT」が表示されています。頻繁に使われる省略形が見当たらないので、「EST」に固執したいと思います。NodaTimeでこれを行うにはどうすればよいですか?
c# - c# NodaTime は日付形式を yyyy-MM-dd HH:mm:ss に変更します
プロジェクトのほとんどのコードで NodaTime を使用しています。LocalDateTime を値として取得しており、フォーマットを変更して MySQL データベースに日時フィールドとして挿入する必要があります。
OffSetPattern で何かを見たことがありますが、使用方法がわかりません。
ここで、dbに書き込もうとしています。
LocalDateTime 形式は 04/10/2014 10:45:02 となります (例) 文字列として 2014-04-10 10:45:02 にする必要があります。
文字列を張ろうとしましたが、明らかにこの場合はうまくいきません。パターンの作成と解析について何か見たことがありますが、NodaTime のどこにも見当たらないので、その方法がわかりません?? 一般的にNodaTimeとc#はまだ新しいので、比較的単純なものが欠けているかもしれません。必要なフォーマットを取得するのを手伝ってくれる人はいますか?
c# - 現在のカルチャ形式のデフォルトで野田時間 OffsetDateTime から DateTimeOffset 文字列を生成する方法は?
Noda Time LocalDateTime myLocalDateTime 変数と Offset myOffset 変数があるとします。ISO8601 形式で DateTimeOffset 文字列を生成するには、使用します
ここで、現在のカルチャ形式のデフォルトで DateTimeOffset 文字列を生成したいと考えています。
米国の場合、「4/10/2014 3:03:11 PM -07:00」のようになります。「G」パターンと、DateTime 部分に CurrentCulture を組み合わせた後、オフセットに「m」形式を組み合わせて使用することを考えていました。どうすればいいですか?「G m」をパターンテキストとして使用するようなものですか?
(関連する解析に関する質問はここで尋ねられました: http://goo.gl/OVeQJT )
c# - DateTime から LocalDate (NodaTime)
にDateTime
変換する必要がある がありますNodaTime LocalDate
。これはできますか?
私はこれを持っています:
そして、私はこれが欲しい:
しかし、 NodaTime
APIは から日付値を取得できないようGetLastWriteTime
です。
したがって、a) DateTime を LocalTime に変換するか、b) LocalTime を使用して日付値を取得する必要があります。GetLastWriteTime
json.net - Json.NET v 4.5 のバグを必要とする NodaTime.Serialization.JsonNet の可能性がありますか?
Json.Net v4.5 を必要とする NodaTime に関連する古い投稿を見つけましたが、修正されました。私は NodaTime.Serialization.JsonNet で同じことを見ているようです。
このエラーを再現する最も簡単な方法: 私のソリューションで NodaTime.Serialization.JsonNet を (NugGet 経由で) VS プロジェクトに追加および削除すると、Json.Net v4.5 のランタイム アセンブリ バインディング/ロード エラーが発生します (v 6. x) インストールされています。NodaTime.Serialization.JsonNet を削除すると、すべて問題ありません。
NodaTime 自体は問題ありません。 NodaTime.Serialization.JsonNet を追加すると、エラーが発生します。
他の誰かがこの問題を経験しましたか?
いくつかの詳細情報:
これをさらに絞り込み、WCF メソッドが PowerShell ランタイム内から呼び出されたときにのみ発生するように問題を分離しました。NodaTime.Serialization.JsonNet は、WCF のみのテストで問題なく動作します。
「ConfigureForNodaTime」への呼び出しで、エラーは次のとおりです。
ファイルまたはアセンブリ 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
私はこれを引き続き見ますが、最新情報を提供したかったのです。
追加情報:
app.config (参考):
ジョン、マット:
ソースを開いたところ、NodaTime.Serialization.JsonNet プロジェクトの設定は「C:\Program Files\Microsoft SDKs\Windows Azure.NET SDK\v2.3\ref\Newtonsoft.Json.dll」、v4.0.30319、4.5 を参照しています。 .0.0、真
おそらく、CS プロジェクト ファイルをビルドするときに、これらの設定を指定すると、そのパスに解決されます。
「ConfigureForNodaTime」拡張メソッドをバイパスし、ヘルパー メソッドで NodaTime コンバーターをシリアライザー インスタンスに追加しようとすると、同じエラーが発生します。したがって、具体的には、コンバーターの追加を乗り越えることはできません。アセンブリの読み込み例外にヒットせずに、コンバーターを追加するヘルパー メソッドにステップインできません。
また、Web API ライブラリと Json.Net シリアル化アセンブリを参照するコンソール アプリで、PowerShell の外部でもこれを再現できました。
ソースをプロジェクトに追加し (このテスト プロジェクトに対して)、再コンパイルして問題が解決するかどうかを確認します。
アップデート:
「すべて」のソリューション (ソース) をロードしてビルドしようとすると、以下の警告が見つかりました。実験として、ターゲット (.net) フレームワークを v3.5 クライアントから v4.5 に変更したところ、警告が消えました。
プライマリ リファレンス「Newtonsoft.Json、Version=4.5.0.0、Culture=neutral、PublicKeyToken=30ad4fe6b2a6aeed、processorArchitecture=MSIL」は、.NET Framework アセンブリ「System.Runtime.Serialization.Formatters」に間接的に依存しているため、解決できませんでした。 .Soap, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" これは、現在のターゲット フレームワークのバージョン "2.0.0.0" よりも新しいバージョン "4.0.0.0" を持っています。NodaTime.Serialization.JsonNet
更新: 私はまだ決定的な武器を持っていませんが、Nuget の依存関係の問題を自分で取り除いても問題が軽減されなかったことを確認できます (それは私の疑いでした)。ブックエンドを見つけるために、Json.Net と NodaTime の両方のソースをソリューションに追加して、より細かく制御できるようにしました。
成功した回避策は、NodaTime プロジェクトのターゲット フレームワークを .NET v4.5 に変更することでした。v4.0 は機能しませんでしたが、v4.5 は機能しました。目的の 1 つは、最新の .NET Framework バージョンを使用しない可能性のある幅広いアプリケーションで利用できるようにすることであるため、それ自体は NodaTime (私は実際に愛しています) の「修正」ではありません。しかし、それは(他の人に必要な場合)可能な変更を診断するのに役立つ可能性があるデータポイントです(私は望んでいます)。
私は今、かなりの時間的プレッシャーにさらされていますが、将来他の誰かが遭遇する可能性がある場合に備えて、私の特定のケースで最終的に喫煙銃を見つけることを約束します.
よろしくお願いします、Jp
c# - NodaTime が一部の国をサポートしていないのはなぜですか?
サイトで "NodaTime.dll, v1.2.0.0" を使用してタイム ゾーンを計算しました。このコードを使用して ZonedId を取得します。
正常に動作しますが、国コード「AC」または英国の「UK」で「アセンション島」に使用したい場合、null が返されます。
このライブラリがこれをサポートしていないことを知りたいですか、それとも間違った方法をとっていますか?