我使用日期时间字段将当前日期保存在模型中,在该字段中,我指示默认将当前日期作为值。
_defaults = {
'f_inicio' : lambda *a: datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
}假设当前日期为'07/10/2013 17:24:05 ',则认为日期为'07/10/2013 12:24:05‘,并在数据库中更正,日期为'07/10/2013 17:24:05';请将此减去5个小时。用户可以设置时区“America/Bogota”,哥伦比亚在该地区(GTM-5:00)。但不知道如何正确显示何时用户,因为我得到了一个完全不同的价值,应该显示。很明显,这是“GTM 0”,GTM哥伦比亚。以应该给我默认日期的大约日期create_date字段为'2013-10-07 22:24:05.384‘。
任何人都不知道会发生什么,真的很感激在这个问题上的任何帮助,这让我发疯。
发布于 2013-10-08 04:33:03
这让我过去太疯狂了。这是一个非常简单的问题。
存储在数据库中的日期是UTC (GMT-0)时区。假设人是用GMT - 5:00时区设置的,那么在将值存储到数据库时,日期将添加5小时(确切地说是5小时,而不是少一点或少一点),这样我们就可以将UTC时间存储到数据库中。现在,当显示相同的内容时,它将检查用户时区,并发现它的GMT - 5:00将用5减去数据库时间(同样,也就是5,而不是稍微少一点)并显示用户。
这将是伟大的系统,这是在不同的时区使用。因此,理解是输入被存储在UTC(GMT-0)中的用户时区中,并显示给用户的时区(即使用户查看的时间在不同的时区,时间也将精确到他们的时区)。
备注:如果用户未与时区一起设置,则考虑浏览器时区,并将其与上角的警告图标一起使用。
就这样。希望这能让你更清晰!!
https://stackoverflow.com/questions/19235954
复制相似问题