H2
値が1517335200000
。インセルに新起源の時間があります。30/01/2018 6:00:00 PM
GMTに返す必要がある人が読める形式に変換しようとしています。
H2/86400+25569
OpenOfficeフォーラムから取得した公式を使用して変換を試みました。この式は値を返します17587319
。 LibreOffice Calcで数値形式を変更すると、Date
値が返されます06/09/-15484
。これは私が望む価値ではありません。それでは、dd / mm / yyyy hh:mm:ssの形式の値を取得する方法は?
答え1
H2
変換する数値が含まれている場合(1517335200000
)。
H3
埋め込み式を作成します。= H2/1000/(60*60*24) + 25569
これにより、数値 43130.75 が返されます。
セル形式を
H3
日付に変更します。誰でも:- によるとShift- -Ctrl3
- 選ぶ滞在-->数値形式-->日付
- 選ぶ滞在-->セル(ウィンドウを開きます) -->数字-日付-滞在
セル形式を
H3
目的の日付形式に変更します。- 選ぶ滞在-->セル(パネルを開く) -->数字-日付-フォーマット(1つ選択)
必要な書式を表示するのに十分な幅がない場合は、セルの幅を拡大します(ヒント:3つの#マークが表示されます)。
なぜ:
エポック時間は、1970年1月1日以降の秒単位で測定されます。
1899年12月30日以降の内部時間(日)を計算します。
したがって、H3で正しい結果を得るには、次のようにします。
正しい数字を求めてください(最後の公式):
H3 = H2/(60*60*24) + ( Difference to 1/1/1970 since 12/30/1899 in days ) H3 = H2/86400 + ( DATE (1970,1,1) - DATE(1899,12,30) ) H3 = H2/86400 + 25569
しかし、あなたが提供したエポックの値が大きすぎます。元より3つのゼロが大きい。 1517335200000 の代わりに 1517335200 でなければなりません。ミリ秒単位で提供されるようです。だから1000に分けてください。この変更後の式は次のようになります。
H3 = H2/1000/86400+25569 = 43130.75
H3
日付と時刻の形式を変更すると(形式 - >セル - >番号 - - >日付 - >日付と時刻)、次のように表示されます。01/30/2018 18:00:00
H3から。
もちろん、Unix epoch時間は常にUTC(+ 0子午線)に基づいているため、上記の結果はローカルタイムゾーンがUTCから外れた時間だけ移動する必要があります。したがって、現地時間を取得するには、タイムゾーンが太平洋標準時のGMT-8の場合(-8)時間を追加する必要があります。 H3とH4の現地時間帯(-8)の式は次のとおりです。
H3 = H2/1000/86400 + 25569 + H4/24 = 43130.416666
次のようにレンダリングされます。
01/30/2018 10:00:00
H3の形式がこれらの時間形式に設定されている場合。
答え2
未来に誰かがこのような状況に直面する場合に備えて。上記には何の問題もありません。ただ私がよく理解していなかったので、他の人に役立つことを願って別の方法で説明します。
タイヤ;
式は
=UnixTime/86400 + 25569
=H2/86400 + 25569
libreoffice 以降の日付が浮動小数点日数で表示されるようです。連帯1秒も残りませんでしたDATE(1899,12,30)
。
1970年以降の整数秒数であるUnix時代を浮動小数点日数に変換するには、1日の秒数または86400で割ります。
変換を実行します。
libreoffice datetime = (UnixEpoch / (Seconds in a day 86400)) + the number of days (not seconds) between the epochs.
その過程で獲得した価値を示す作品例1675781528 unix epoch (2023-02-07T14:52:08)
1675781528 / 86400 = 19395.619537037 days since 1970
(DATE(1970,1,1) - DATE(1899,12,30)) = 25569 days between 1890 and 1970
25569 + 19395.619537037 = 44964.62 days since 1899