在不应该使用夏令时的日历

我正在制作的一个程序将十六进制值转换为十进制值。十进制值表示自 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));


    }


}


心有法竹
浏览 126回答 2
2回答

慕桂英3389331

用于格式化的时区在 DateFormat 上设置。dateFormat.setTimeZone(TimeZone.getTimeZone("EST"));System.out.println(dateFormat.format(newDate));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java