将date时间转换为24小时格式

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

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

我也想要转换时间为24小时制。 任何人都可以解决这个问题。 我想得到的输出就像2011-07-27 08:35:29

尝试这个:

 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); } 

H对h是24小时对12小时格式的区别。

 kk = Hours in 1-24 format hh= hours in 1-12 format KK= hours in 0-11 format HH= hours in 0-23 format 

尝试这个:

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

你应该看看Javadate格式,特别是SimpleDateFormat 。 这里有一些例子: http : //download.oracle.com/javase/tutorial/i18n/format/simpleDateFormat.html – 但你也可以find更多的快速谷歌。

我以下面给出的date为例,根据您的要求打印两种不同的date格式。

 String date="01/10/2014 05:54:00 PM"; SimpleDateFormat simpleDateFormat=new SimpleDateFormat("dd/MM/yyyy hh:mm:ss aa",Locale.getDefault()); try { Log.i("",""+new SimpleDateFormat("ddMMyyyyHHmmss",Locale.getDefault()).format(simpleDateFormat.parse(date))); Log.i("",""+new SimpleDateFormat("dd/MM/yyyy HH:mm:ss",Locale.getDefault()).format(simpleDateFormat.parse(date))); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } 

如果您还有任何疑问,请回复。 谢谢。

在两行中:

 SimpleDateFormat simpleDateFormat=new SimpleDateFormat("hh:mm aa",Locale.getDefault()); FAJR = new SimpleDateFormat("HH:mm",Locale.getDefault()).format(simpleDateFormat.parse("8:35 PM"); 

只是一个小费,

尝试使用JodaTime而不是Java,util.Date它更强大,它有一个方法toString(“”),你可以传递你想要的格式toString(“yyy-MM-dd HH:mm:ss”) ;

http://joda-time.sourceforge.net/

 import java.text.SimpleDateFormat; import java.util.Date; public class DateFormatExample { public static void main(String args[]) { // This is how to get today's date in Java Date today = new Date(); //If you print Date, you will get un formatted output System.out.println("Today is : " + today); //formatting date in Java using SimpleDateFormat SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd-MM-yyyy"); String date = DATE_FORMAT.format(today); System.out.println("Today in dd-MM-yyyy format : " + date); //Another Example of formatting Date in Java using SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd/MM/yy"); date = DATE_FORMAT.format(today); System.out.println("Today in dd/MM/yy pattern : " + date); //formatting Date with time information DATE_FORMAT = new SimpleDateFormat("dd-MM-yy:HH:mm:SS"); date = DATE_FORMAT.format(today); System.out.println("Today in dd-MM-yy:HH:mm:SS : " + date); //SimpleDateFormat example - Date with timezone information DATE_FORMAT = new SimpleDateFormat("dd-MM-yy:HH:mm:SS Z"); date = DATE_FORMAT.format(today); System.out.println("Today in dd-MM-yy:HH:mm:SSZ : " + date); } } 

输出:

今天是:2012年11月2日星期五16:11:27 IST

今天以dd-MM-yyyy格式:02-11-2012

今天在dd / MM / yy模式:02/11/12

今天在dd-MM-yy:HH:mm:SS:02-11-12:16:11:316

今天在dd-MM-yy:HH:mm:SSZ:02-11-12:16:11:316 + 0530

这是一个使用JODA的方法。

input示例是07/20/2015 01:46:34.436 AM

 public static String get24HourFormat(String dateString){ Date date = new Date(); DateTime date1=new DateTime(); // String date=""; int hour=0; //int year=0; if(dateString!=null){ try { DateTimeFormatter formatter = DateTimeFormat.forPattern("MM/dd/yyyy hh:mm:ss.SSS aa"); DateTimeFormatter output = DateTimeFormat.forPattern("kk"); date1=formatter.parseDateTime(dateString); hour=date1.getHourOfDay(); System.out.println(output.print(date1)); // System.out.println(date); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } return hour+""; } 

日历的工作原理如下:

  //create first Calendar object Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 15); // 3 PM // the same is calendar.set(Calendar.AM_PM, Calendar.PM); // choose PM mode calendar.set(Calendar.HOUR, 3); // 3 PM System.out.println( calendar.get(Calendar.HOUR) ); // AM_PM format System.out.println( calendar.get(Calendar.HOUR_OF_DAY) ); // 0-23 format 
  DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(); Date date2 = new Date("2014/08/06 15:59:48"); String currentDate = dateFormat.format(date).toString(); String anyDate = dateFormat.format(date2).toString(); System.out.println(currentDate); System.out.println(anyDate);