Objective-CでJSONの日付(ティック)をNSDateに変換する方法を知っている人はいますか?誰かがコードを投稿できますか?JSONの日付(ティック)をNSDateに変換する
答えて
ここでは推測していますが、JSON値は1970年以降のミリ秒数です。 NSDateのdateWithTimeIntervalSince1970:
メソッドを使用すると、正しい時刻のNSDateオブジェクトを返すことができます。 NSDateに渡す前にJSONのミリ秒数を秒に変換してください.Cocoaはほとんどの場所でNSTimeIntervalを使用します(秒単位の間隔です)。
クライアントのロケールを検出できるようにする必要があります。クライアントがその方法を知っていなければ、あまり意味がありません。
NSDateのdescriptionWithLocale:別のロケール用にフォーマットする方法です。 timeIntervalSince1970は1970年以来(秒)に戻ります。これを1000倍してmsをクライアントに返すことができます。それはすべてNSDateのドキュメントにあります。
それは大体このように書き:このページによると
// Input string is something like: "/Date(1292851800000+0100)/" where
// 1292851800000 is milliseconds since 1970 and +0100 is the timezone
NSString *inputString = [item objectForKey:@"DateTimeSession"];
// This will tell number of seconds to add according to your default timezone
// Note: if you don't care about timezone changes, just delete/comment it out
NSInteger offset = [[NSTimeZone defaultTimeZone] secondsFromGMT];
// A range of NSMakeRange(6, 10) will generate "1292851800" from "/Date(1292851800000+0100)/"
// as in example above. We crop additional three zeros, because "dateWithTimeIntervalSince1970:"
// wants seconds, not milliseconds; since 1 second is equal to 1000 milliseconds, this will work.
// Note: if you don't care about timezone changes, just chop out "dateByAddingTimeInterval:offset" part
NSDate *date = [[NSDate dateWithTimeIntervalSince1970:
[[inputString substringWithRange:NSMakeRange(6, 10)] intValue]]
dateByAddingTimeInterval:offset];
このソリューションは壊れやすいです。数字がちょうど13桁(マイクロ秒をドロップすると10桁)の場合にのみ機能します。 2001年9月以前のすべての日付では動作しません。 –
Martin、あなたは正しいです。私は参照された要点のリンクがより多くの文脈を提供することを望む。 – Ali
:http://msdn.microsoft.com/en-us/library/system.datetime.ticks.aspxティックは、1月1日、0001で始まるのでdateWithTimeIntervalSince1970:
は自動的に設定されていませんダニで働く。この方法を使用することはできますが、違いを調整する必要があります。
- 1. NSDateフォーマッタ変換が正しい日付
- 2. JSONのNSDateに日付とバック
- 3. 1タイムゾーンのNSString日付を別のタイムゾーンを持つNSDateオブジェクトに変換する
- 4. NSStringの日付をNSDateまたは特定の文字列に変換する
- 5. 変換JSONの日付文字列
- 6. NSDate日付文字列からjava.util.dateへの変換
- 7. NSDateFormatter: 'GMT'の日付文字列をローカルNSDateに変換する方法は?
- 8. タイムゾーンを含む日付文字列をNSDateに変換する方法
- 9. JavaScriptの日付をMS JSON形式に変換する
- 10. JSONの日付/時刻をC#に変換するDateTime
- 11. JSONオブジェクトを日付形式に変換するには?
- 12. 日付を日付から日付に変換する方法
- 13. 日付をRからJSON形式に変換する
- 14. Swift:NSDateをC#ティックに変換する
- 15. PHPの日付をjavascriptの日付形式に変換する
- 16. Androidの日付文字列を日付オブジェクトに変換する
- 17. 日付と日付をSQLの日付と時刻に変換する
- 18. AndroidのSQLite:長い日付と日付に変換する
- 19. NSStringをNSDateに変換するには?
- 20. カレンダー - 週を日付に変換する
- 21. yyyymm-integerを日付に変換する
- 22. ルビー日付変換
- 23. パンダ日付変換
- 24. SQL日付変換
- 25. NSDateComponentsをNSDateに変換する
- 26. epochTimeをNSDateに変換する
- 27. NSDateをmm/dd/yyyyに変換する
- 28. iOSの - 変更NSDate形式はすべての日付1月
- 29. Rの日付を変換してNAの日付を変換するのに適用する
- 30. AngularJS - コントローラの日付を変換する
ありがとうございました。それは私のために働いた。 NSDateをクライアントのローカルタイムゾーンに表示する方法を知っていますか? –
また、NSNETのwebserviceに送信されるJSONオブジェクトを準備するために、NSDateからDate(ticks)に戻る方法も知っていますか? –