我试图编写一个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 */
}
答案 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();