我已经写了下面的代码,这是运行,并给出输出。但我不确定这是不是正确的。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = new Date();
sdf.setTimeZone(TimeZone.getTimeZone("GMT-7"));
String value = sdf.format(date);
System.out.println(value);
Date date2 = sdf.parse(value);
long result = date2.getTime();
System.out.println(result);
return result;
上面的代码是我正在尝试的,我只需要得到GMT时区的当前时间,并将其转换为将在Oracle数据库中使用的纪元格式。
谁能告诉我这个格式,上面的代码是正确的吗?
发布于 2018-08-02 03:22:22
为什么不使用Calendar
类呢?
public long getEpochTime(){
return Calendar.getInstance(TimeZone.getTimeZone("GMT-7")).getTime().getTime()/1000; //( milliseconds to seconds)
}
它将返回当前日期的Epoch/Unix时间戳。
根据Harald的评论:
public static long getEpochTime(){
return Clock.system(TimeZone.getTimeZone("GMT-7").toZoneId() ).millis()/1000;
}
发布于 2018-08-02 03:41:47
下面是一个使用java.time API的解决方案
ZonedDateTime zdt = LocalDateTime.now().atZone(ZoneId.of("GMT-7"));
long millis = zdt.toInstant().toEpochMilli();
https://stackoverflow.com/questions/51640313
复制相似问题