問題タブ [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.
c# - 夏時間変更後の DateTimeOffset 表示
DateTimeOffset と夏時間について質問があります。私の質問を説明するために、現在の日付と時刻が次のとおりであると仮定します。
このコードを実行すると:
次に、次の結果が得られます。
現地時間: 2010 年 11 月 6 日 10:15:00 AM
イベントが午前 10 時 15 分に発生したことを意味します (私のタイムゾーンは山地夏時間 (-6 オフセット))。
そこで、この DateTimeOffset を SQL Server 2008 データベースに (DateTimeOffset として) 保存します。翌日、ユーザーに表示したい。しかし、現在、サマータイムは終了しています。
上記の WriteLine を (前日から) 保存された off 値で実行すると、何が表示されますか?
データベースに格納されるオフセットは -6 です。しかし、夏時間が終わった今、現在のオフセットは -7 です。ドキュメントを理解しているので、最初に時間をUTC時間に変換します(したがって、午前10時15分かかり、6時間(午後4時15分)が追加されます。次に、現地時間の現在のオフセット(4時15分)が減算されます午後 - 7 = 午前 9 時 15 分)。
したがって、私の計算が正しければ、イベントを表示すると、午前 10 時 15 分ではなく午前 9 時 15 分に発生したことが示されます。
これは良くない。タイム ゾーン情報を保存したいのですが、同じタイム ゾーンで静的な時間を維持する必要があります。(つまり、イベントがユタ州で午前 10 時 15 分に発生した場合、次に (ユタ州で) それを見るとき、夏時間の変更が発生したかどうかに関係なく、それが午前 10 時 15 分であったことを確認する必要があります。 .
私がこの問題を抱えた最初の人だとは思えません。これを修正するために他の人は何をしますか?(それとも、事実が間違っているのでしょうか?)
datetime - DateTime.MinValueをDateTimeOffsetに変換する
DateTime.MinValueをDateTimeOffset値に変換しようとしていますが、ArgumentOutOfRange例外が発生しています。
DateTimeからDateTimeOffsetへの暗黙的な変換に関するMSDNの記事を見ていましたが、「例外」セクションには、次の場合にこのArgumentOutOfRange例外を受け取ると記載されています。
...オフセットを適用した結果の協定世界時(UTC)の日付と時刻は、 MinValueよりも前です。..。
それでは、なぜ次のコードが例外をスローするのでしょうか。
それは単に私のタイムゾーンによるものですか?私はGMT+8ですが、上記のコードについての私の理解は、テストが不特定の種類で作成されているということです。
DateTimeのMinValueをテストするだけで問題を回避し、テストする場合は、代わりにDateTimeOffset.MinValueを使用します。
不特定の種類のDateTimeオブジェクトがエラーを引き起こす理由について知りたいだけです。
datetime - クライアントの実際のタイムゾーンを取得する必要がありますか、それともすべてESTタイムゾーンにあると想定できますか?(米国のみのWebアプリケーション)
Webアプリケーションでの日付と時刻の処理について質問があります。アプリケーションは毎月のサブスクリプションを販売します。クライアントがサブスクリプションを購入およびキャンセルした場合にのみ日付が表示されます。クライアントは月の半ばに追加のサービスを購入できます。アプリケーションは、クライアントの記念日まで請求する比例配分を計算します。
日付/時刻をUTCで保存します。これは米国のクライアント専用です。
次のオプションを検討しています。経験豊富な開発者からフィードバックをもらいたいと思います。
1-常にESTに日付を表示します。すべてのサブスクリプションがESTを使用していることを説明する小さなキャプションを含めることができます。クライアントのタイムゾーンを処理する必要がないため、これは簡単です。しかし、これによってクライアントが延期されるかどうかはわかりません。何かご意見は?
2-常にEDTで日付を表示します。これを使用する理由を説明するのは難しいので、これはおそらくうまく機能しないでしょう。ただし、ESTよりも処理が簡単だと思います。
3-クライアントがサービスにサインアップするときにクライアントのタイムゾーン情報を要求し、その情報を使用します。これでそれほど複雑になることはないと思いますが、タイムゾーンを変更するオプションを提供する必要があり、タイムゾーンが変更されたときに既存のサブスクリプションをどうするかを決定する必要があります。このオプションを使用する場合は、ドロップダウンリストからタイムゾーンを選択するようにクライアントに依頼します。
4-クライアントの場所(市と州)を尋ね、自分でタイムゾーンを計算します。
5-クライアントのIPまたは別の方法(アイデア???)に基づいてクライアントのタイムゾーンを推測してみてください。
オプション3、4、および5は、おそらく最もユーザーフレンドリーです。オプション1は、実装するのが最も簡単なようです。
長い投稿でごめんなさい。時間をかけて読んだら、もう少し時間をかけて考えや経験を共有していただけませんか。
ありがとうございました。
更新1-2011年9月3日-17:08MST
PayPalがPDTを使用してトランザクションを記録し、PayPalにサインアップしたときに設定したクライアントのローカルタイムゾーンを使用してそれらをクライアントに表示することがわかりました。
私は今、次のことに傾倒しています。
1-PDTを使用して現在の日付を表示します(PayPalに合わせるため)-おそらく、日付と時刻のPDTを表示するようにコードを変更します。現在、日付のみを表示しています。時間を見せれば、クライアントにとってより明確になると思います。
2-記念日は表示しません。PayPalに処理させます。毎月の請求であると簡単に述べておきます。
3-クライアントが新しいサービスを追加するとき、私はPDTを使用して比例配分を計算し、タイムゾーンの違い(提案してくれた以下のRobert Levyに感謝)とPayPal処理(私はしません)を考慮して3日間の猶予期間を与えます彼らが彼らの通常の月額料金からほんの数日であるならば、彼らに比例した金額を請求したいです)。
何かご意見は?
アップデート2-2011年9月3日-21:01MST
簡単な更新。さらに調査した結果、PayPalから取引日が返送されていることがわかりました。クライアントがPayPalで支払い、確認を受け取るまで、日付は表示されません。クライアントの領収書にPayPalの取引日を表示します。
計画のようだ。どう思いますか?
c# - DateTimeOffset は夏時間にどのように対処しますか?
スケジュールを曜日、時間、分としてデータベースに保存しています。データが読み取られるとDateTime
、その日、時、分が次に発生するオブジェクトを作成しますが、これを DST に対応するように変更する必要があります。必要に応じてデータベースを変更できます。
DateTimeOffset
UTC 日付/時刻とオフセットが格納されていることを知っています。また、この MSDN ブログ エントリDateTimeOffset
から、「夏時間で作業する」ために使用する必要があることも知っています。
私が理解するのに苦労しているDateTimeOffset
のは、まさに「夏時間で機能する」方法です。私の理解では、サマータイムは政治的な決定であり、純粋なオフセットから推測することはできないということです. 名前付きのタイムゾーンや国ではなく、オフセットのみを保存する場合、この構造が DST フレンドリーであるとは言えません。
php - PHPで1日引く
Drupal CMS から出てくる日付オブジェクトを取り、1 日を引いて両方の日付を出力しようとしています。これが私が持っているものです
そのため、元の日付オブジェクトが正常に出力される理由がわかりませんが、追加の日付オブジェクトを作成し、1 日を減算して変更しようとしていますが、それができないようです。出力は常に空白になります。
ruby-on-rails - タイムゾーン付きのStrptime
で解析する文字列がありDateTime.strptime
ます。文字列の日付のタイムゾーンは CET ですが、Ruby はもちろん 2 時間のオフセットを持つ UTC DateTime オブジェクトを作成します。
現在、私はこの問題を回避していますDateTime.strptime().change(:offset => "+0020")
が、これは本来の動作方法ではないと確信しています。
誰かがこれを行う正しい方法について教えてもらえますか?
datetime - オフセット付きの SQLite 形式の日時
sqlite3 の datetime 列からのみ日付を返したいです。問題は、オフセットが必要なことです。列は ClientCreatedDate と呼ばれ、値は2011-10-24 20:53:15 +0000
通常、値が次のように見える場合は、次のよう2011-10-24 20:53:15
にします。
そして、すべてがうまくいくでしょう。
オフセットがあるので何かできることはありますか?
php - PHPはUTCZTimeZone指定子を表示しません
日付をUTCにフォーマットしようとすると、UTCゼロタイムゾーン指定子の「z」が表示されません。これはライブラリの問題ですか?
結果は次のようになります。
どのフォーマットにもzがないことに注意してください。私は期待していたでしょう
sql-server-2008 - SSIS 形式の日付 YYYYMMDD に X 日のオフセットがありますか?
以下の評価により、yyyymmdd 形式の日付が int として設定されます。
私がする必要があるのは、SSISで日をX日オフセットし、それに応じて月と年のオフセットを維持する機能です。
答えが見つからないようです。誰もが以下のようにフォーマットする方法の例を持っていますが、日、月、または年でオフセットしてフォーマットし、同時にすべての部分を正確に保つ必要がある場合はどうでしょう.
誰?
C# や TSQL ではこれは簡単ですが、この SSIS は私の忍耐力を弱めています。
ありがとう。
c# - WCF サービスでクライアントの Datetimeoffset をキャプチャする
世界中のユーザーからのイベントを保存する Web サービスがあります。ユーザーは後でレポート システムにログインして、イベントを表示できます。イベントのタイムスタンプを現地時間で表示する必要があります。
の後ろでDateTimeOffset
db フィールドを使用できます。しかし、これをWebサービスで変換する方法について混乱しています。クライアントが Web サービス イベント メソッドを呼び出すとき、実際のイベントの時刻はサービスがイベントを受信する時刻と異なる場合があるため、datetime パラメータを送信する必要があります。sql server 2008
WCF service
サーバーで として変換しようとするとDateTimeOffset dtOffset = eventTime;
、サーバーの時間に基づいて変換されます。
どうすればこれを正しい方法で行うことができますか?