在java中,如何将一个时区的历元时间转换为另一个时区的历元时间?

在java中,如何将一个时区的历元时间转换为另一个时区的历元时间?,java,timezone,Java,Timezone,我得到了GMT时区的纪元时间,我需要根据提供的用户时区将此时间转换为其他时区 以格林尼治标准时间表示的ex-time=1551700619 转换为IST的时间=1551680819 请帮我解决这个问题。有几件事: 大纪元是一个用词不当的词,应该从我们的词汇表中删除。您所拥有的被正确地称为Unix时间戳 此形式的时间戳定义为自Unix纪元1970-01-01 00:00:00 UTC以来的秒,不考虑闰秒 因为它们基于UTC,所以它们总是以UTC为单位。将一个人呈现为处于不同的时区是无效的,并且在传

我得到了GMT时区的纪元时间,我需要根据提供的用户时区将此时间转换为其他时区

以格林尼治标准时间表示的ex-time=1551700619 转换为IST的时间=1551680819

请帮我解决这个问题。

有几件事:

大纪元是一个用词不当的词,应该从我们的词汇表中删除。您所拥有的被正确地称为Unix时间戳

此形式的时间戳定义为自Unix纪元1970-01-01 00:00:00 UTC以来的秒,不考虑闰秒

因为它们基于UTC,所以它们总是以UTC为单位。将一个人呈现为处于不同的时区是无效的,并且在传递时间戳时可能会导致进一步的混乱和损坏

时间戳1551700619和1551680819是两个不同的时间点,间隔为5小时30分钟。换言之,如果在这两个时间戳发生事件,而你在印度,与英国的某个人通电话,你俩都会经历第一个事件,然后必须等待5小时30分钟,然后都会经历第二个事件

1551700619 == 2019-03-04T11:56:59Z == 2019-03-04T17:26:59+05:30
1551680819 == 2019-03-04T06:26:59Z == 2019-03-04T11:56:59+05:30

你知道并且试过java.time.ZonedDateTime吗?“Epoch”的意思是从1970年1月1日00:00 GMT开始。Epoch值在不同的时区有不同的含义,但数字本身不应该改变。同意。正如在对问题的评论中所述,无论时区如何,数字都应相同。相反,在给定时区中显示时间是一个java方法调用。顺便说一句,我发现“划时代”是一个有效的短语,这篇文章请不要称之为“划时代”,因为英语中经常出现附加名词。鸡汤、赛马、牛奶巧克力、鞋店、咖啡罐、肥皂碟。因此,划时代时间与引用Unix划时代的时间一样合法。@MarlinPierce-那么,当Excel使用Ole自动化日期(又称OADate)时,它是基于1899-12-30划时代的数字时间戳,这也是划时代时间吗?换言之,在各种各样的情况下,为什么基于Unix Epoch的时间戳是唯一一个有特殊区别的时间戳,称为Epoch-Time?当然,那也是一个Epoch-Time。你是说正确的短语是UNIX时代吗?是的,那是可以接受的。