在Parse后端查找当前时间与上次更新时间之间的差异

时间:2015-07-31 06:52:34

标签: java date time parse-platform simpledateformat

我试图编写一个Java脚本来计算当前日期和存储在Parse后端的最后更新时间之间的时差。任何人都可以帮我发现我的代码中的错误吗?你认为这并不是那么糟糕,但我已经看了Stack Overflow数小时无济于事。

            hr {
        height:43px; /*(image height)*/
        width:50%;
    background-image:url("hr-tag-image.png"); /*Your image file*/
/*Demo: https://heckles.typrograms.com */
}

2 个答案:

答案 0 :(得分:2)

这两行的组合可能会导致您的问题:

String currentTime=currentDate.toString();
// ...
FormattedCurrentDate = formatter.parse(currentTime);

currentTime变量不包含可由格式化程序配置的正确格式化字符串。

我也认为不需要创建这样的字符串,你可以按照以下方式执行:

long difference = currentDate.getTime() - parseDate.getTime();

如果您绝对坚持从日期到字符串和返回进行往返,则必须按如下方式创建currentTime字符串:

currentTime = formatter.format(currentDate);

答案 1 :(得分:0)

您不应该调用toString()将Date转换为String。为什么将currentTime转换为String并稍后将其解析为日期?这没有任何意义。

//Create a date formatter.
        SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.'LLL'Z'");
//Create a date object for today's date.
        Date currentDate=new Date();
//Create a string for the date from parse.
        String parseTime = singleClaim.getString("updatedAt");
//Create a string for the current date.
        String currentTime=currentDate.toString();
//Initialize the date object for the updatedAt time on Parse.
        Date parseDate = null;
        try {
//Here, we convert the parseTime string into a date object and format it.
            parseDate = formatter.parse(parseTime);
} 

        catch (Exception e) {
            e.printStackTrace();
        }           

   //Get the time difference from the current date versus the date on Parse.
        long difference = currentDate.getTime()-parseDate.getTime();