問題タブ [datetimeoffset]

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 投票する
2 に答える
1164 参照

c# - すべての Silverlight クライアントに対して DateTimeOffset を同じオフセットに設定することは可能ですか?

日付/時刻の値には DateTimeOffset を使用します。

そして、私が達成したいのは、SilverLight アプリを実行するためにページをロードするすべてのクライアントに対して、東京時間などの特定のゾーンに従って日付を表示することです。

そのため、LocalTime への変換は行われません。

すべての Silverlight クライアントに対して、DateTimeOffsets が UTC + Tokyo のオフセットとして表示されるように構成することは可能ですか? 現地時間ではありませんか?

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

sql-server - datetimeoffset データ型から datetime データ型への変換により、範囲外の値が発生しました

SQL Server 2008 を使用しています。データ型の列LastLogindataを持つ User というテーブルがあります。datetimeoffset

次のクエリは、運用サーバーでは機能しますが、レプリケーション サーバーでは機能しません。

次のエラーが表示されます。datetimeoffset データ型を datetime データ型に変換すると、範囲外の値になりました。

ありがとう

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

c# - DateTimeOffset を SQL Server の DateTime フィールドに格納する方法

これはC#にあります

RSS フィードのデータを使用していて、そのデータをデータベースに保存したいと考えています。私が抱えている問題は、LastUpdateTime を保存する方法です。

問題は、rssFeed.LastUpdateTime が DateTimeOffset であることです。ただし、DateTime しかない SQL Server 2005 を使用しています。このシナリオを処理するためのベスト プラクティスは何ですか? それが重要な場合、すべてのデータベースとサーバーは東部時間です.

ありがとう。

0 投票する
8 に答える
52704 参照

c# - Json.NET DeserializeObject がタイムゾーンを現地時間に変更するのはなぜですか?

json.net を使用して a を逆シリアルDateTimeOffset化していますが、指定されたタイムゾーンを無視し、日時をローカル オフセットに変換しています。たとえば、与えられた

以下を使用してデシリアライズする場合:

obj には a を含むプロパティが含まれますDateTimeOffsetが、値は2012-07-19T15:30:00+10:30元のタイムゾーンを維持する代わりにローカル タイムゾーンに変換されます。

DateTimeOffset結果のプロパティが指定された値と一致するように、期待どおりに解析される値を取得する方法はありますか?

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

ruby - Ruby - new_offset が 1 秒遅れる

この動作が意図されているかどうかはわかりませんが、少し奇妙に思えます。How do you get DateTime.parse to return a time in your time zone?のコードを使用しています。

場合によっては、返される DateTime が 1 秒早くなります。

しかし、それ以外の場合は、正しいようです。

私が書いているプログラムは分しか気にしません。つまり、必要な16:55ときに戻ってきます16:56

私の質問は次のとおりです。

  • これは意図的なものですか?(もしそうなら、それはどこかに文書化されていますか - 私は何も見つけることができませんでした.)
  • これをプログラムで修正する簡単な方法はありますか? 秒は気にしないので、返された DateTimes を「切り上げる」ことができると思いますが、これがエッジケースで他の問題を引き起こす可能性があるかどうかを知っておくとよいでしょう.
0 投票する
1 に答える
4789 参照

c# - 変更不可能なタイプのIConvertibleのような機能の実装

IConvertible要するに、問題があります。実装されていれば、DateTimeOffset問題IConvertibleは発生しません。

拡張メソッドを使用してインターフェイスを実装することはできないため、道路は閉鎖されています。構造体DateTimeOffsetは部分的ではないため、そのように拡張することはできません。

いくつかのMSDNドキュメントを読んでいると、TypeCode列挙型に出くわしました。これは、IConvertibleが正しく機能するために必要なようです。そして、私の残念なことに、列挙型にはTimeSpanも含まれていませんでした。これにより、and (ie = P)Tupleで-like構造を使用するオプションが閉じられます。DateTimeTimeSpanDateTimeOffset

私の質問は次のとおりです。基本的なIConvertibleまたは同様のサポートがあるDateTimeOffsetと同等のものをどのように実装しますか?

実装は、[index,TType] where TType : IConvertible(セッター、ゲッター、トライゲッターの両方の)機能を備えた派手な怠惰な辞書の実装に関するものであり、タイムゾーン固有のデータを格納できる必要があります。

これまでの私の考え:

  • ISuperConvertible実際には単なる拡張である新しいインターフェースを作成し、特別な場合IConvertibleを作成します。DateTimeOffsetこれにより、IConvertibleのサポートは一般的に機能しなくなりますが、この非常に特殊なケースでは機能します。長所と短所?

  • DateTimeOffsetsを格納するために2つの「スロット」を使用します。1つはと30分オフセットDateTime用ですint(すべてのタイムゾーンは1時間ではありません= /)。その後、機能が失われcache[ApplicationStrings.LastUpdate, default : DateTimeOffset.Min]ます。

それらは私の主な考えを表しています。つまり、ブレークDateTimeOffsetアンドキープIConvertibleまたはブレークIConvertibleアンドキープDateTimeOffsetです。

私はまだC#の本質的な特性に慣れていないので、どんな洞察も役に立ちます。あなたの考えは何ですか?

編集:追加:

  • 現在、DateTime(固定タイムゾーン)を使用する実用的なソリューションがありますが、タイムゾーンも必要です。最適なシナリオは、代わりにどこでもDateTimeOffsetを使用することです。本質的に問題はリファクタリングではありませんが、私の特定の問題はです。
  • これは非常に大規模なアプリケーションであり、さまざまなサービスやストレージと通信するためにエンティティフレームワークやその他のよりあいまいなフレームワークを使用します。したがって、単純なシステム定義タイプを維持しても、LINQ-to-Xの最適化などが損なわれることはありません(これらがどれほど難しいかはわかりません)自分でやることです)。
  • 別の人がいつやって来て、タイムスタンプに使用されるDateTimeがあることに気づき、オフセット(タイムゾーン)を考慮せずにそれを使用するのかわからないため、データの分割には反対です。
0 投票する
1 に答える
649 参照

ssms - SSM では、上位 200 の編集で Datetimeoffset フィールドを編集できません

SQLserver バージョン Microsoft SQL Server Management Studio 10.0.5500.0

Microsoft 分析サービス クライアント ツール 10.0.5500.0

Microsoft データ アクセス コンポーネント (MDAC) 6.1.7601.17514

マイクロソフト MSXML 3.0 4.0 6.0

Microsoft Internet Explorer 9.0.8112.16421

マイクロソフト .NET フレームワーク 2.0.50727.5456

オペレーティング システム 6.1.7601

テーブル定義:

次のような制約があります。

これはうまくいくようです。Edit 200 は値をうまく表示します。私はそれらを編集することはできません。

このエラーが発生します The changed Value was not recognized as valid. .Net Framework type:DateTimeOffset Error Message:Offset must be specified> in whole minutes. Parameter Name: Offset

私はdateortimeではなく を変更しようとしていましたoffset。許可されているにもかかわらず、値を削除することさえできませんNULLS

私は何を間違っていますか?またはこれは SSMS のバグですか?

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

c# - protobuf 日時オフセット

protobuf-net の R561 バージョンに関する所見を共有したかっただけです。を使用する場合DateTimeOffSet、例外

InvalidOperationException (型のシリアライザーが定義されていません: System.DateTimeOffset)

表示されます:

getProto()aと aを使用して proto ファイルを作成するメソッドを追加したところ、StreamWriter動作するようになりました (さらに、proto ファイルも完全に使用可能になりました)。しかし、このメソッドをコメントすると、同じ例外が発生します。私は本当にそれを取得しません。

この観察が役立つことを願っています。


私はより明確にしようとします。DateTimeOffset パラメーターを使用するいくつかのオブジェクトを持つ C# クライアントがあります。それらを protobuf-net (r561) でシリアライズし、メソッド getProto() で proto ファイルを書き込む writeProtoFile() メソッドを追加しました。シリアル化は完全に機能しているようで、proto ファイルも問題ありません。したがって、proto ファイルができたので、メソッド writeProtoFile(): をコメントまたは抑制できます。他の proto ファイルは必要ありません。だからここに私の最初の質問があります:

-> このメソッド (getProto() メソッドを呼び出す proto ファイルを書き込むだけ) がコメント化または抑制されていると、シリアライゼーションが機能しなくなるのはなぜですか? これが私が得た例外です:

型のシリアライザーが定義されていません: System.DateTimeOffset。

writeProtoFile() コメントのコメントを外すと、機能します。メソッドは次のとおりです。

このオブジェクトを Java クライアントで使用する必要があります。proto コンパイラで生成された Java クラスは問題ないように見えますが、デシリアライズすると例外が発生しました。

com.google.protobuf.InvalidProtocolBufferException: プロトコル メッセージの解析中に、フィールドの途中で入力が予期せず終了しました。これは、入力が切り捨てられたか、埋め込まれたメッセージがそれ自体の長さを誤って報告したことを意味する可能性があります。

その理由は、生成された DateTimeOffset クラスにあると思います (proto では、dateTimeOffset には何も含まれていません)。

タイプ DateTimeOffset は Java に存在するので、ここに私の 2 番目の質問があります。

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

java - JPAを使用したDateTimeOffset(休止状態)

SQLserverに接続されたHibernateを使用するJPAがあります。それは機能しますが、DateTimeOffsetフィールドを持つエンティティを使用するたびに例外があります。

カスタムタイプを試して、次のように使用しました。

DateTimeOffsetTypeは、私がここで作成したカスタムタイプです: datetimeoffset休止状態マッピング

しかし、それでも、それは機能しません。HibernateとJPAでDateTimeOffsetを読み取るにはどうすればよいですか?

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

sql - 同じ「日」に一致する SQL Server DateTimeOffset

私のアプリケーションは、世界中のすべての場所の「火曜日」の購入を収集する必要があります。ここで、「火曜日」は場所の火曜日です (タイムゾーンに関係なく)。また、ユーザーが来週レポートを再実行する必要がある場合でも、「先週の火曜日」のデータを取得する必要があります。すべてのデータは DateTimeOffset を使用して保存されます。

したがって、9/4/12 00:00:00 -7 から 9/4/12 23:59:59 -7 は 9/4/12 00:00:00 +11 から 9/4/12 23:59 に一致する必要があります。 WHERE 句を実行すると 59 +11 になります。

WHERE 句で UTC に変換することはできません。これは、場所の火曜日ではなく、ロンドンの「火曜日」のデータを取得するためです (DST によって異なります)。

DateTimeOffset から DateTime に変換してみましたが、UTC に変換されるようです。(私のテストでは、9/1/12 から 9/30/12 を渡すと、8/31/12 のデータが取得されました。)

TSQLでこのようなことをするためのトリックはありますか?

ありがとう!