python二进制读取与写入_用Python将Datetime写入和读取为二进制格式

我想在Python的二进制文件中存储一个日期时间列表。

编辑:所谓“二进制”是指每种数据类型的最佳数字表示。它的应用是保存由(unix时间戳、纬度、经度、高程)组成的GPS跟踪点,因此整个结构是小端的“Long,float,float,float”,每个值有4个字节。

注意:由于对unix平台的任何影响,我不使用“unix时间戳”,而只是作为一种明确的方式来表示datetime的值。

目前,我正在执行下面的代码,但是除了一些我仍在计算的时区混乱(我的时区是-3),我相信转换成int并返回可能不是正确的方法,因为datetime和datetime64是python/numpy中的本机类型,如果我没有弄错的话。因此,一个datetime64需要8个字节,而不是我用于(长)unix时间戳的4个字节。import datetime

import calendar

import struct

now = datetime.datetime.now()

print now

stamp = calendar.timegm(now.utctimetuple())

print stamp

binarydatetime = struct.pack('

recoverstamp = struct.unpack('

print recoverstamp

recovernow = datetime.datetime.fromtimestamp(recoverstamp)

print recovernow

所以主要的问题是:“这是把原始日期时间转换成二进制并返回的python方法吗?”

传统的问题是:“如果代码中的所有内容都是天真的,为什么我要有时区偏移量?”

谢谢你的阅读!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值