我对简单日期格式有疑问,我不知道为什么。 这是我的算法
if (realtimeDeparture != null) {
int hours = this.realtimeDeparture / 3600;
int minutes = (this.realtimeDeparture % 3600) / 60;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
try {
Calendar cal = Calendar.getInstance(Locale.FRENCH);
String date = cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH)+1)+ "-" + cal.get(Calendar.DAY_OF_MONTH)+ " " + hours+":"+minutes;
result = df.parse(date);
}
我有一个 API,它可以给我 00h00 后的秒数(实时出发) 我想从这个整数中提取一个真正的日期对象 所以我做了这个算法,但我失去了时间,我不知道为什么。
例如,有一些输入和结果值:
date = 2018-5-7 12:26
result = Mon May 07 00:26:00 GMT+02:00 2018
我尝试检查 07/05/2018 是否与 7/5/2018 不同,但问题相同:
date = 2018-05-07 12:26
result = Mon May 07 00:26:00 GMT+02:00 2018
如何从 00h00 开始的秒数获取日期对象? 或者我如何修复我的算法?
最佳答案
您的计算对我来说看起来不错,所以我猜测问题在于格式。
您尝试过使用
cal.set(Calendar.HOUR_OF_DAY, hours);
cal.set(Calendar.MINUTE, minutes);
然后获取日期
Date date = cal.getTime();
关于java - 简单日期格式解析日期时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50212208/