:
日時値は、最初の番号(提供された例で700000)は、ミリ秒単位の数であり、「/(+ 0500 700000)/日」の形でJSON文字列として表示されますGMTタイムゾーンでは、1970年1月1日午前0時からの通常の(非夏時間の)時間です。この数値は、以前の時刻を表すために負の値になる場合があります。この例の "+0500"で構成される部分はオプションで、時刻がローカルの種類であることを示します。つまり、逆シリアル化時にローカルのタイムゾーンに変換する必要があります。存在しない場合、時刻はUtcとして逆シリアル化されます。実際の数字(この例では "0500")とその記号(+または - )は無視されます。
そしてUse JSON.NET to parse json date of format Date(epochTime-offset)
から...このscrewy formatでは、タイムスタンプの部分はまだ、単にUTCに基づいています。オフセットは余分なの情報です。タイムスタンプは変更されません。別のオフセットを与えることもできますし、完全に省略することもできますが、それは同じ瞬間です。
したがって、ティックの数は、Januar 1 1970 GMTからのミリ秒数です。
extension Date {
var jsonDate: String {
let ticks = lround(timeIntervalSince1970 * 1000)
return "/Date(\(ticks))/"
}
}
例:
print(Date().jsonDate) // /Date(1481446227993)/
時間帯指定を追加するだけ 日付
.NETでローカルを提示し、JSONの日付文字列を生成する際に一方が単にその一部 を省略することができるどのように変化します
_dateとは何ですか?string_? – OOPer
@OOPerはMicrosoftの形式です。 http://www.hanselman.com/blog/OnTheNightmareThatIsJSONDatesPlusJSONNETAndASPNETWebAPI.aspx – ali9091
Swift(NS)Dateにはタイムゾーン情報がありません。宛先タイムゾーンはどのように定義されていますか? – vadian