この形式の日時があります。
1999-12-31 09:00:00
これは16進値から来ました:
F0C46C38
上記の形式の日時値を 4 バイトの 16 進数にするにはどうすればよいですか? 上に投稿した値は、互いに補完し合うものです。2 番目のコード ブロックの 16 進数は逆になっています。
ありがとうございました!
386CC4F0(hex)== 946652400(dec)
946652400は、1999-12-3115:00:00GMTのUnixタイムスタンプです。
import time
print hex(int(time.mktime(time.strptime('1999-12-31 15:00:00', '%Y-%m-%d %H:%M:%S'))) - time.timezone)
#!/usr/bin/env python3
import binascii
import struct
from datetime import datetime
# convert time string into datetime object
dt = datetime.strptime('1999-12-31 09:00:00', '%Y-%m-%d %H:%M:%S')
# get seconds since Epoch
timestamp = dt.timestamp() # assume dt is a local time
# print the timestamp as 4 byte hex (little-endian order)
print(binascii.hexlify(struct.pack('<I', round(timestamp))))
# -> b'f0c46c38'