39

Java アプリケーションからの Unix エポック タイムスタンプを含む Excel ドキュメントがあります。それらが何に変換されるかを確認し、Excel 内で人間が読める日付として表現したいと思います。

たとえば、次の long: 1362161251894は、次のような読み取り可能なものに評価される必要があります: 01 Mar 2013 11:07:31,894

このための式を作成できると仮定していますが、方法がわかりません。ありがとう!

4

6 に答える 6

47

はい、これを行う式を作成できます。Java と Unix/Linux は 1970 年 1 月 1 日からのミリ秒数をカウントしますが、Microsoft Excel は Windows の場合は 1900 年 1 月 1 日、Mac OS X の場合は 1904 年 1 月 1 日から開始します。変換:

Windows の GMT 時間について

=((x/1000)/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))

Mac OS X の GMT 時間について

=((x/1000)/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1904"))

Windows の現地時間 (t を GMT からの現在のオフセットに置き換えます)

=(((x/1000)-(t*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))

Mac OS X の現地時間 (t を GMT からの現在のオフセットに置き換えます)

=(((x/1000)-(t*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1904"))

あなたの特定のケースでは、山岳時間 (GMT オフセット7 )にいるように見えます。したがって、セル A1 の新しい Excel スプレッドシートに1362161251894の値を貼り付けてから、次の式を貼り付けると、41333.46356 という結果が得られます。これを Excel に日付としてフォーマットするように指示すると (セルで ctrl+1 を押します) ) は: 2013 年2 月 28 日 11:07 AM

=(((A1/1000)-(7*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))
于 2013-03-01T18:25:59.420 に答える
20

これはここで答えられているようです

=(A1/86400)+25569

于 2013-03-01T18:20:59.123 に答える
4

エポック時間はミリ秒単位で提供されました ( 1523060201838)。ユーザーは NY タイム ゾーン ( GMT -04:00またはDST -14400 ) に変換しようとしています。

Excel のセル A1 には、13 桁の値のエポック タイムがあります。

((A1/1000)-14400)/86400 + 25569

4/6/18 8:16 PM(セルを日付としてフォーマットした後)に変換されます。

于 2018-04-06T21:36:03.063 に答える