我正在尝试在SimpleDateFormat的帮助下将时区设置为不同国家的时区。SimpleDateFormat.format()返回给定时区的正确当前时间,但SimpleDateFormat.parse()返回本地当前时间,我不知道为什么会这样。这是我的代码 -
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");
dateFormat.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
System.out.println("Time1 : " + dateFormat.format(new Date()));
System.out.println("Time2 : " + dateFormat.parse(dateFormat.format(new Date())));
输出是 -
Time1 : 2013-01-17 21:01:55
Time2 : Fri Jan 18 10:30:55 IST 2013
Time1 是 "America/Los_Angeles" 的输出, Time2 是 local(ie "Asia/Calcutta") 的输出。
我只想要 UTC 秒格式的给定时区的当前时间(即自 1970 年 1 月 1 日以来的秒数)。
为什么 SimpleDateFormat.format() 和 SimpleDateFormat.parse() 只设置一个时区却给出不同的时间?
请帮我。