Asp.net Web Api との間で送受信されるすべての日付が UTC 時間であることを確認したいと考えています。
(Web APIからの)送信部分は、私が制御できるのでそれほど難しくありませんが、サードパーティが日時を送信するときにそれを行う方法がわかりません。
それを検証する方法があるかどうか疑問に思っていますか?
Asp.net Web Api との間で送受信されるすべての日付が UTC 時間であることを確認したいと考えています。
(Web APIからの)送信部分は、私が制御できるのでそれほど難しくありませんが、サードパーティが日時を送信するときにそれを行う方法がわかりません。
それを検証する方法があるかどうか疑問に思っていますか?
タイムゾーン情報がすでにプロトコルに含まれているか、制限/指定されていない限り、そうではありません。
これは、UTC の「Z」指定があり、「現地時間」のタイムゾーンがないことを意味する場合があります..または、完全なタイムゾーンオフセットが指定されている..またはすべての時間が UTC である..または、まったく別の何かを意味する可能性があります。
(これが、DateTimeOffset の DateTime をほぼ完全に削除し、タイムゾーン オフセットを外部に送信する必要がある場合は常にプロトコル設計に含める理由です。)
DateTimeOffset
オブジェクトを使用してこれを行うことができます。あなたは API の設計者であるため、この情報を含めることを強くお勧めします。DBMS に SQL Server を使用している場合は、DATETIMEOFFSET
一貫性を確保するために使用できます。
第三者があなたにDateTime
または同等のものを送信している場合、そのプロトコルが UTC であると具体的に述べていない限り、UTC であることに依存することはできず、いくつかのヒントについて推測するか、プロトコルのドキュメントを確認する必要があります。