将日期时间转换为24小时格式

Suj*_*jiz 80 java datetime

我从服务器上得到的时间就像 Jul 27, 2011 8:35:29 AM.

我想把它转换成yyyy-MM-dd HH:mm:ss.

我还希望转换时间为24小时格式.任何人都可以解决这个问题.我想得到的输出就像2011-07-27 08:35:29

lwp*_*ro2 163

H vs h是24小时与12小时格式之间的差异.

  • 谢谢您这么简单的回答。无需代码段 (2认同)

Mar*_*son 115

试试这个:

String dateStr = "Jul 27, 2011 8:35:29 AM";
DateFormat readFormat = new SimpleDateFormat( "MMM dd, yyyy hh:mm:ss aa");
DateFormat writeFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
    date = readFormat.parse(dateStr);
} catch (ParseException e) {
    e.printStackTrace();
}

if (date != null) {
    String formattedDate = writeFormat.format(date);
}
Run Code Online (Sandbox Code Playgroud)

  • 我无法使用此代码将2:46 PM转换为14:46.我错过了什么吗? (5认同)
  • 如果您不知道日期格式的模式,则非常小且难以识别。对我来说,只是把`hh` 改成`HH` 问题就解决了! (3认同)

Sav*_*dar 93

kk = Hours in 1-24 format
hh= hours in 1-12 format
KK= hours in 0-11 format
HH= hours in 0-23 format
Run Code Online (Sandbox Code Playgroud)


小智 11

试试这个:

Date date=new Date("12/12/11 8:22:09 PM");    
System.out.println("Time in 24Hours ="+new SimpleDateFormat("HH:mm").format(date));
Run Code Online (Sandbox Code Playgroud)


ste*_*las 5

您应该看一下Java日期格式,特别是SimpleDateFormat.这里有一些例子:http://download.oracle.com/javase/tutorial/i18n/format/simpleDateFormat.html - 但你也可以通过快速谷歌找到更多.