1

特定のタイムゾーンの現在の時刻を取得する方法はありますか?

例: GetDateTime("モロッコ標準時")

タイムゾーン「モロッコ標準時」の現地時間を与える必要があります

前もってありがとう、マーリン

4

1 に答える 1

1

質問がかなり古いことは知っていますが、答えが誰かに役立つかもしれません。

SQL Server 2016 を使用している場合は、新しい機能を使用できますAT TIME ZONE。段階的に必要な結果に到達しましょう。

まず、関数SYSDATETIMEOFFSET()を使用して現在の日付と時刻を UTC タイム ゾーンで取得します。この関数の戻り値の型は でDATETIMEOFFSET、日付だけでなく、関連するタイム ゾーン情報も格納します。

SELECT SYSDATETIMEOFFSET()
-- Result is 2016-08-20 13:15:25.3760873 +03:00

次に、これとAT TIME ZONEステートメント。これはDATETIMEOFFSET、必要なタイム ゾーンで返されます。

SELECT SYSDATETIMEOFFSET() AT TIME ZONE 'Morocco Standard Time'
-- Result is 2016-08-20 11:15:25.3760873 +01:00

さらに、タイム ゾーン情報を失い、 を使用するDATETIME場合は、上記の結果を にキャストできますDATETIME

SELECT CAST( SYSDATETIMEOFFSET() AT TIME ZONE 'Morocco Standard Time' AS DATETIME)
-- Result is 2016-08-20 11:15:25.376
于 2016-08-20T10:10:48.393 に答える