格式化日期时忽略DST(夏令时)

时间:2011-11-24 19:24:14

标签: java android date

我有这个应用程序,它将当前日期与xml文件中的解析日期进行比较:

Date timeDiff = new Date(date.getTime() - new Date().getTime());

问题是当我通过simpleDateFormat将变量timeDiff作为字符串输出时,会考虑夏令时,这会增加额外的小时。这会弄乱我的输出。

有没有让SimpleDateFormat忽略DST?

谢谢!

3 个答案:

答案 0 :(得分:3)

你要从另一个时间减去一次,以毫秒为单位获得持续时间。您不应该尝试将其格式化为 date 。这是几毫秒,而不是约会。

目前还不清楚你期望的结果是什么,但目前你基本上是以错误的方式去做。

答案 1 :(得分:1)

为什么不使用Time。 它有normalize()方法,它接受一个布尔值来表示你是否要忽略DST。

答案 2 :(得分:0)

好的伙计们!使用此解决方案可能更好:

public static String millisToString(long l){
        long h, m;
        h = l / 3600000;
        m = (l % 3600000) / 60000;
        if(h == 0){
            return m + "m";
        }else{
            return h + "h " + m + "m";
        }
    }