13

これはプログラミングに関する質問ではありませんが、関連しています。

そこで、iPhone からバックアップされた SMS DB を解析する方法を見つけようとしています。「メッセージ」テーブル、特に「日付」フィールドを見ています。最近のメッセージでは、日付/時刻を示すために別の番号付けシステムが使用されていることに気付きました。1318470904 にメッセージを送信し、340164736 に返信を送信しているため、iMessage への切り替えに絞り込みました。これらのメッセージが 1 時間以内に送信されたという事実を知っていますが、 30歳差。

この新しいシステムを使用して日付を正確に計算する方法を知っている人はいますか? それは別のエポックを使用していますか、それとも私がしなければならないクレイジーな数学がありますか?

編集: 最近のメッセージも影響を受けます。テキスト (緑色のバブル) は通常どおり日付が設定されて保存され、iMessage を介したもの (青色のバブル) は異なる日付表現で保存されます。

4

8 に答える 8

14

バックアップは SQLite データベース形式にエクスポートされるため、SQLite で数値を実際の日付に変換する方法は次のとおりです。

select
    datetime(date + strftime('%s', '2001-01-01 00:00:00'),
       'unixepoch', 'localtime') as date,
    *
from message
于 2014-09-15T02:12:02.917 に答える
7

1970 年 1 月 1 日以降の Unix である他のものではなく、2001 年 1 月 1 日からの秒数です。したがって、Excel の時間に変換するには、数式は =Cell/(60*60*24) + "1/1/2001" になります。

于 2012-06-06T19:01:59.010 に答える
0

別の答えがあるかもしれません。

=Cell/(60*60*24) + "1/1/1970"

現在のバージョンの iPhone/iOS で動作 => 4.3.3

于 2013-06-26T04:30:55.843 に答える