Unixタイムスタンプを人間が読める形式に変換する方法は?


15

タイトルが言うように、私はシートにUnixタイムスタンプを持っているので、それらを通常の人間が読める日付に変換する必要があります。これまでのところ、Googleの検索でいくつかの提案が出てきましたが、何も私にとってはうまくいきませんでした。誰もがこれらを変換するために働く式を持っていますか?

回答:


22

私は、より透明で、マジックナンバーが少ない式を好みます。これにより、何が起こっているのかが簡単にわかり、バグが発生する可能性も回避されます(この質問に対する現在のトップアンサーが1日ずれているなど)。

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

また、UTCから、UTC-8など、数時間オフセットされたタイムスタンプにシフトする場合:

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

とてもいい、これは実際にはより良い答えだと思うので、それ以外は…に感謝します。ありがとう!
JVC

7

Googleスプレッドシートは、日付と時間を日単位で測定します。0マークは1899-12-30 0:00:00です。これは1970年以前であり、この時点のGMTタイムを想定したUnixタイムスタンプは負、つまり-2209161600です。だから、式

=(A1 + 2209161600)/86400

セルA1のUnixタイムスタンプを日時に変換します(セルを数式でフォーマットします)。

制限事項:

  • うるう秒は無視されます
  • 数式はGMT用ですが、Googleスプレッドシートの時間はローカルタイムゾーンです。タイムゾーンの式を調整するには、https: //www.epochconverter.com/にアクセスして、現地時間の1899-12-30 0:00:00のタイムスタンプを取得します。

mbicanの回答によると、この式は1日ずれています。xkcd.com/386
デーブL.

答えは修正されました。
デイブL.17年

3

結果は私にとって1日先だったので、それを =to_date((A1+2209161600)/86400)



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.