2017-03-27 8 views
4

私は特定のAPIからこれを得る:それは何のフォーマットをこれはどのような日付形式ですか?

/Date(-27734400000+0000)/

呼ばれているのですか?タイムスタンプに変換するにはどうしたらいいですか?

+0

可能な重複: - Unixのタイムスタンプ - http://stackoverflow.com/questions/21522936/php-convert-negative-timestamp-to-date - http://stackoverflow.com/questions/12305826/what-does-0000-the-of-the-time-of-the-twitter-api – Elbarto

+0

は、ミリ秒で負のタイムスタンプに見えます。関連記事はここにあります:http://stackoverflow.com/questions/41583209/how-do-i-convert-this-time-format-14805504000000000-in-ymd-date-format-usin –

+1

これはバグですそのAPI。それはC#を使用しているようですが、それは.NETのDateオブジェクトのデフォルトのJSONシリアル化です。 – apokryfos

答えて

3

何らかの理由でC#がそのようなDateTimeオブジェクトをシリアル化しているようです。通常はフォーマット/Date(Seconds since 01/01/1970)/ですが、これが負の(そして非常に大きい)という事実は私に、どこかでオーバーフローがあったことを疑うでしょう。何かやっいずれにせよ:あなたは1091で、いくつかの日を期待している場合を除きこれは私には意味がありません

DateTime Object (
    [date] => 1091-02-17 16:00:00.000000 
    [timezone_type] => 3 
    [timezone] => US/Pacific 
) 

http://sandbox.onlinephpfunctions.com/code/8e65641fa2aae0a3f49ce9c3f27457d7c6842b7bで)

<?php 
$str = "/Date(-27734400000+0000)/"; 
$strTime = substr($str,6,-2); 
$date = new \DateTime(); 
$date->setTimestamp(intval($strTime)); 
//You can also do some more sophisticated things to set the timezone based on the +xxxx part 
print_r($date); 

この1枚のプリントを私は、これが最も可能性が高いと思います開発者にAPIバグを知らせる必要があります。 2部で

関連する問題