忽略时区的Java日期/日历

时间:2014-06-03 12:46:38

标签: java date calendar

如何在日期中忽略时区?我的意思是我用格式为HH:mm的8:54输入了一些jsf输入,并且在setter中我得到了9:54,我认为这是因为时区GMT + 1。如何将此日期转换为忽略时区?当我不知道我在哪个时区使用它时,如何转换它。

代码,时间选择器输入设置器:

public void setDateTest(Date hmm){
    if (hmm!=null){
        int a = hmm.getHours();
        int b = hmm.getMinutes();

        Calendar cal = Calendar.getInstance();
        cal.get(Calendar.ZONE_OFFSET);
        cal.setTime(hmm);

        int a2 = cal.get(Calendar.HOUR);
        int c2 = cal.get(Calendar.HOUR_OF_DAY);
        int b2 = cal.get(Calendar.MINUTE);
    }
}

1 个答案:

答案 0 :(得分:0)

如果您使用的是java.util.Calendar(可能是您),则小时索引介于0-11之间

http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#HOUR

所以,如果您为Calendar.HOUR提供8,那么这实际上是9.这可能是原因。只是一个意见......