提问人:Nagesh R Shanbhag 提问时间:3/27/2023 最后编辑:AnonymousNagesh R Shanbhag 更新时间:4/5/2023 访问量:68
最终纪元比输入 [重复] 给出的实际时间提前 3 天
Final epoch is 3 days ahead of the actual time given as input [duplicate]
问:
我的纪元值比作为输入传递的实际时间提前 3 天。
我有一个日期 2023-03-21T04:34:12.234567800Z,其中 00Z 是偏移量,但是一旦我在 java 中将其转换为纪元,我得到的纪元输出比上面给出的实际日期提前 3 天?关于我们如何为偏移量为 00Z 的日期形成日期格式的任何想法。我使用的是这种格式->“yyyy-MM-dd'T'HH:mm:ss。SSS'Z'”
这是我处理过的代码片段
public class date_to_epoch {
public static void main(String[] args) {
//The date format against which the Date will be matched
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS");
//Timezone
df.setTimeZone(TimeZone.getTimeZone("(UTC+05:30) Asia/Kolkata"));
try {
@SuppressWarnings("unused")
String rtValue="2023-03-21T04:34:12.234567800Z";
Date date = df.parse("2023-03-21T04:34:12.234567800Z");
SimpleDateFormat utcformat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS");
utcformat.setTimeZone(TimeZone.getTimeZone("UTC"));
rtValue = utcformat.format(date);
long epoch = date.getTime(); // timestamp value received in rt field of log to epoch
String sDatetime = String.valueOf(epoch);
System.out.println(sDatetime);
} catch (Exception ex) {
}
}
}
1679607819800--> 这是我得到的纪元,对应于三天前的日期,所以我无法推断出其中的日期格式。在此处输入图像描述
答: 暂无答案
评论
SimpleDateFormat
Date
TimeZone
SimpleDateFormat
Instant.parse("2023-03-21T04:34:12.234567800Z").toEpochMilli()
Z
UTC+05:30) Asia/Kolkata
ZoneId