我已经编写了这个java代码来获取system_date_time和my_date_time之间的区别,当我运行此代码时system_date_time是2015-02-19 06:01:00,所以差异应该是24小时= 86400秒,但这段代码给出-2592002作为输出。 所以请帮助解决问题。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class A {
public static void main(String arg[]) throws ParseException {
String dateString = "2015-02-20 06:01:00"; // end_date_time
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
Date myDate = sdf.parse(dateString);
System.out.println( (myDate.getTime() - System.currentTimeMillis()) / 1000 );
}
}
答案 0 :(得分:1)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
注意MM(MM是月,mm是分钟)
您解析了日期错误(因此有时会在1月份给您)
答案 1 :(得分:0)
您只需使用java.sql.Timestamp
即可实现目标。
String dateString = "2015-02-20 06:01:00"; // end_date_time
Timestamp myTimeStamp = Timestamp.valueOf(dateString);
System.out.println( ((myTimeStamp.getTime() - System.currentTimeMillis()) / 1000));
答案 2 :(得分:0)
将日期格式更改为
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
MM
是几个月mm
是分钟
答案 3 :(得分:0)
在此更新代码,首先更改是在SimpleDateFormat中使用MM而不是mm,在sysout中使用另一个更改
String dateString = "2015-02-18 15:39:00"; // end_date_time
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date myDate = sdf.parse(dateString);
System.out.println( ( System.currentTimeMillis()- myDate.getTime()) / 1000 );