0

私はSQLからいくつかの詳細を収集し、次のように生年月日を示しています(各行は異なる生年月日を表しています):

-294022800
649119600
-138675600
49158000
32396400
631152000
-2147483648
731894400
-408067200
522025200

私はこの式を使用してExcelでそれらを変更しようとしていました:

=DATE(INT(A1/10000),INT((A1-10000*INT(A1/10000))/100),A1-(100*INT(A1/100)))

しかし、うまく機能しませんでした。別の形式である必要があります。それがどのような形式で、Excelで日付に変換する方法を知っていますか? 一部の数値がマイナスになるのはなぜですか? これは EPOCH フォーマットでしょうか? Excelで通常の人間の日付に変更するには?

4

3 に答える 3

4

私の推測では、それらは UNIX タイムスタンプhttp://en.wikipedia.org/wiki/Unix_timeであると思います。

Excelでは、次のようなものを使用できます。

=(((A1/60)/60)/24)+DATE(1970,1,1)

ただし、日時に夏時間のオフセットが含まれているように見えるという事実に注意する必要があります。(そのうちのいくつかは 1 日の倍数 (24*60*60) ですが、他のものは 1 時間です)。そこに時間以外の倍数 (-2147483648) が含まれている理由がわかりません。元のシステムの癖の可能性があります。

ソース: http://spreadsheetpage.com/index.php/tip/converting_unix_timestamps/

于 2013-06-27T14:48:05.627 に答える
2

Unix タイムスタンプは、この式で変換できます

=A1/86400+DATE(1970,1,1)

Unix タイムスタンプは 1970 年 1 月 1 日からの秒数であるため、それ以前の生年月日は負になります。[生年月日の 1 つは 1901 年に変換されます - そうですか? Excel はこれらの日付を認識しないため、いずれかの日付が 1900 年より前の場合、問題が発生します]

于 2013-06-27T14:51:59.043 に答える
0

わかりました、私はそれを理解しました。これは式です:

=(A1-(4*3600))/86400+25569
于 2013-06-27T14:49:44.367 に答える