假设我有两个时间戳。一个是UTC,另一个的时区是未知的,但有一个日期和时间。后者的格式是YYYY:MM:DD HH:MM:SS
。
通过简单地从UTC时间减去第二个时间戳,然后四舍五入小时来获得UTC的偏移量是否合理?
有没有一种简单的方法可以用Java来实现?(例如,Joda或JUT?)
谢谢你,谢谢
一点背景:这些日期来自图像的EXIF元数据。EXIF以以下格式存储图像的CreateDate
:YYYY:MM:DD HH:MM:SS
没有时区信息。它还在GPSTimeStamp
下存储UTC时间戳(有时)。使用这两个值,我希望得到偏移量,以便用它存储创建日期。虽然有TZ偏移的EXIF元数据,但相机很少记录它。
2条答案
按热度按时间uyto3xhc1#
免责声明:我可能没有理解你的两个“时间戳”的确切格式或数据类型。我有个建议。
这将打印:
正如评论中所讨论的,通常情况下,四舍五入到整个小时是一个糟糕的主意。这些天来,它可能是安全的四分之一小时,但我会犹豫,谁知道是否有地方将推出一个偏移8:20明年?从历史上看,以秒为单位的区域偏移量已经存在,所以如果您的时间戳表示“过去的好日子”,那么您可能应该避免任何舍入。
kse8i1jr2#
这就是我最终做的:
ChronoUnit.MINUTES
甚至秒来截断是很容易的。一个有趣的练习,Ole V. V.有帮助的指出。CreateDate
:YYYY:MM:DD HH:MM:SS
没有时区信息。它还在GPSTimeStamp
下存储UTC时间戳(有时)。使用这两个值,我希望得到偏移量,以便用它存储创建日期。虽然有TZ偏移的EXIF元数据,但相机很少记录它。