我有一个图表库,需要我在epoch / Unix时间戳时间戳中的数据。
所以我把它转换成这样:
ydm = 20170101
ymd = ms['dimensions'][0] + '-' + '235959'
d = datetime.datetime.strptime(ymd,'%Y%m%d-%H%M%S')
date = d.strftime('%Y-%m-%d')
ts = int(d.strftime("%s")) * 1000
这很好用,因此我得到了一个人类可读的字段2017-04-08
和我的时间戳1491695999000
我正在尝试保存我的数据库中的两个字段,我首先尝试使用IntegerField
,但我收到了上述错误,我认为这是因为时间戳是如此之大的数字所以我还尝试了一个BigIntegerField
,但我一直在接收一个随机(?)数字的错误:invalid literal for int() with base 10: '100.0'
这个数字总是一个点,我猜这就是为什么django没有接受它。
我的观点看起来像这样:
print('time stamp is: '+str(ts)) # This is an int and the result is something like this: `time stamp is: 1491868799000`
# Save Metrics to DB
gp = GoogleProperty.objects.get(google_email=current_user)
user_id = int(gp.user_id)
property_id = gp.property_id
property_name = gp.property_name
obj, created = GaCountries.objects.get_or_create(property_id=property_id, date=date, country=country,
defaults={
'owner':user_id,
'property_id':property_id,
'date':date,
'property_name':property_name, # Remove Later
'country':country,
'sessions' : sessions,
'users' : users,
'pageviews' : pageviews,
'bouncerate': bouncerate,
'timestamp' : ts,
})
if not created: # If exists which data should be replaced:
obj.date = date
---ETC
行中出现问题:'timestamp' : ts,
但我确定ts是一个整数且数据正确。
现在的模型是:
timestamp = models.BigIntegerField(blank=True, null=True)
但我也试过其他类型的领域......
有什么想法吗?