如何使用数据库中的日期将java中的24小时时间转换为12小时格式
我只想将数据库中的日期转换为12小时格式,该格式最初是24小时格式,类似于下面的如何使用数据库中的日期将java中的24小时时间转换为12小时格式,java,Java,我只想将数据库中的日期转换为12小时格式,该格式最初是24小时格式,类似于下面的2015-06-11T28:28:57.000Z。在这里,这种时间格式(28:25:57)似乎是第二天(即2015-06-12T04:28:57) 我尝试了以下方法: String date = "2015-06-11T28:28:57.000Z"; SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss a"); Date d
2015-06-11T28:28:57.000Z
。在这里,这种时间格式(28:25:57
)似乎是第二天(即2015-06-12T04:28:57
)
我尝试了以下方法:
String date = "2015-06-11T28:28:57.000Z";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss a");
Date date = formatter.parse(date);
但我遇到了一个错误,例如无法解析日期。您的日期格式化程序字符串不正确,请尝试以下操作:
String dateStr = "2015-06-11T28:28:57.000Z";
SimpleDateFormat sdfInput = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
Date date = sdfInput.parse(dateStr);
System.out.println("Date:"+date ); //Fri Jun 12 04:28:57 IST 2015
// to get 12 hour date formate date-string from provided date
SimpleDateFormat sdfOutput = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS ");
String dateStr2 = sdfOutput.format(date);
System.out.println("dateStr2:" + dateStr2); //2015-06-12 04:28:57.000
日期是否以字符串形式存储在数据库中?为什么不将其存储为日期/时间类型?引发异常的具体位置?你有堆栈策略吗?如果你在数据库中有这样的日期
2015-06-11T28:28:57.000Z
,那么它是一个错误只是一个猜测,但我认为28不是小时的有效值。在将日期写入数据库时,可能您也将分钟写入了小时占位符。