我正在制作的一个程序将十六进制值转换为十进制值。十进制值表示自 2010 年 1 月 1 日以来的时间,以秒为单位。我正在使用 Calendar 方法将秒数添加到日期以获得最终日期/时间。当我调用 .useDaylightTime() 时,它返回 false 但我得到的值是它是否使用 DST。我是否忽略了什么?import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Scanner;import java.util.TimeZone;public class timeSince { private static final DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); public static void main(String[] args) { Scanner input = new Scanner(System.in); String hex = input.nextLine(); TimeZone zone = TimeZone.getTimeZone("EST"); System.out.println(zone.useDaylightTime()); Calendar cal = Calendar.getInstance(zone); cal.set(2010, 0, 1, 0, 0, 0); cal.add(Calendar.SECOND, Integer.parseInt(hex,16)); Date newDate = cal.getTime(); System.out.println(dateFormat.format(newDate)); }}
2 回答
慕桂英3389331
TA贡献2036条经验 获得超8个赞
用于格式化的时区在 DateFormat 上设置。
dateFormat.setTimeZone(TimeZone.getTimeZone("EST"));
System.out.println(dateFormat.format(newDate));
添加回答
举报
0/150
提交
取消