Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用数据库中的日期将java中的24小时时间转换为12小时格式_Java - Fatal编程技术网

如何使用数据库中的日期将java中的24小时时间转换为12小时格式

如何使用数据库中的日期将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

我只想将数据库中的日期转换为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 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不是小时的有效值。在将日期写入数据库时,可能您也将分钟写入了小时占位符。