java - 将字符串转换为日期以计算差异

标签 java string date

我有 2 个字符串格式的日期(例如 2012-04-23、2012-03-08),我想找出它们之间的差异。

在 Java 中计算该值的最佳方法是什么?

我只关心日期而不是时间

最佳答案

您可以使用以下方法将字符串转换为日期:

String dateString = "2012-04-23";
Date date = new SimpleDateFormat("yyyy-mm-dd").parse(dateString);

您可以进一步了解 SimpleDateFormat here .

<小时/>

对于两个日期之间的差异,您可以通过以下方式以毫秒为单位计算:

int milliseconds = dateOne.getTime() - dateTwo.getTime();

getTime() 返回自 1970 年 1 月 1 日以来的毫秒数。

要以天为单位进行转换,请使用:

int days = milliseconds / (1000 * 60 * 60 * 24)

关于java - 将字符串转换为日期以计算差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13732577/

相关文章:

ruby - 是否有必要转义 Ruby 字符串插值中使用的双引号?

mysql - 如何在 MySQL 字段中选择以逗号分隔的字符串中的单词?

java - 在 Groovy 中推断字符串值类型

php - PHP 中的日期格式 m/d/y 为 Y-m-d?

java - 中点公式溢出错误

Java Spring 调度器锁

java - 替换最后一个正斜杠之后的所有内容

java - Android - 通过另一个类向 String[] 添加值

python - 在python中将字符串解析为日期

java - 创建 JRuby 解析器实现以从 java 文件生成 AST