【问题标题】:Comparing to get seconds difference between java and mysql datetime比较以获取 java 和 mysql 日期时间之间的秒差
【发布时间】:2014-08-28 18:07:30
【问题描述】:

我将 mysql 日期时间字段读入一个字符串,例如

String arriveTime = rs1.getString("arriveTime");

下一步我尝试使用 java 获取当前日期和时间,使其与我从 mysql 获得的格式相似。

DateFormat outDf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentDateTimer=null;
                    Date date = Calendar.getInstance().getTime();
                    currentDateTimer=outDf.format(date); 

如何减去 currentDateTime 和到达时间以秒为单位获得净结果。我宁愿纯粹通过 java 来做

【问题讨论】:

  • select unix_timestamp() - unix_timestamp(yourfield)
  • 您所说的在几秒钟内获得最终结果是什么意思?举一个你想要的例子:)
  • 可以添加arriveTime的格式吗?

标签: java mysql datetime


【解决方案1】:

首先,我不会将 MySQL 日期时间读入 String。我会改变这个,

String arriveTime = rs1.getString("arriveTime");

 java.sql.Date arriveTime = rs1.getDate("arriveTime");

然后您可以使用基本减法以毫秒为单位得到结果,然后除以一千得到以秒为单位的结果 - 所以

long diff = new java.util.Date().getTime() - arriveTime.getTime();
System.out.println(diff / 1000);

【讨论】:

  • @user3953386 不是这里的方法。你也不需要日历。尽管您总是可以使用日历(或 Joda Time)来做到这一点。
  • 我想我会按照你的方法更好更简单。谢谢。
【解决方案2】:

I read a mysql date time field into one string

如果该列是 varchar 类型,则可以使用 resultsetObject.getString() 阅读它

但如果您的列类型是日期,那么始终建议使用 resultset.getDate() 获取值

Mysql 以yyyy-MM-dd 格式存储日期

I try to get the current date and time using java to be similar format 
like the one I got from mysql.

当您执行resultset.getDate() 时,它将以yyyy-MM-dd 格式为您提供 java.sql.Date

【讨论】:

    猜你喜欢
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    相关资源
    最近更新 更多