如何将此 PHP timeDiff 代码转换为 Android 代码?
我在 PHP 中有这个 timeDiff 函数:
PHP 代码:
function timeDiff( $firstTime,$lastTime ){
// convert to unix timestamps
$firstTime=strtotime($firstTime);
$lastTime=strtotime($lastTime);
// perform subtraction to get the difference (in seconds) between times
$timeDiff=$lastTime-$firstTime;
// return the difference
return $timeDiff;
}
现在我想在 android 中使用上述功能,所以我编码如下:
Android 代码:
private double timeDiff(String startTime, String endTime ){
try {
SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date startTime_d = (Date) parser.parse(formater.format(startTime));
Date endTime_d = (Date) parser.parse(formater.format(startTime));
double dateDiff = startTime_d.getTime() - endTime_d.getTime();
return dateDiff;
}catch(ParseException e){
// TODO Auto-generated catch block
e.printStackTrace();
}catch( NullPointerException e){
Log.e(LOG_TAG, e.toString() );
}
return 0;
}
但是 logcat 说 java.lang.IllegalArgumentException。
我是一名初学者 Android 程序员,感谢您的帮助! :)
I have this timeDiff function in PHP:
PHP Code:
function timeDiff( $firstTime,$lastTime ){
// convert to unix timestamps
$firstTime=strtotime($firstTime);
$lastTime=strtotime($lastTime);
// perform subtraction to get the difference (in seconds) between times
$timeDiff=$lastTime-$firstTime;
// return the difference
return $timeDiff;
}
now I want to use the above functionality in android, so I coded like this:
Android Code:
private double timeDiff(String startTime, String endTime ){
try {
SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date startTime_d = (Date) parser.parse(formater.format(startTime));
Date endTime_d = (Date) parser.parse(formater.format(startTime));
double dateDiff = startTime_d.getTime() - endTime_d.getTime();
return dateDiff;
}catch(ParseException e){
// TODO Auto-generated catch block
e.printStackTrace();
}catch( NullPointerException e){
Log.e(LOG_TAG, e.toString() );
}
return 0;
}
But logcat says java.lang.IllegalArgumentException.
I'm a beginner android programmer thanks for any help! :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 Date 对象getTime() 方法> 您可以获得 1970 年 1 月 1 日之前的毫秒数。如果您想要日期之间的差异,您可以按如下方式计算以毫秒为单位的差异:
With the
getTime()
method of Date objects you can get the milliseconds till January 1st, 1970. If you want the difference between to dates you can calculate the difference in milliseconds as follows:您使用格式化程序对象的解析器的输出调用了解析器对象的解析方法。我相信这是不正确的。试试这个:
You called the parse method of the parser object with the output of the parser of the formater object. I believe this is incorrect. Try this: