将字符串转换为日期和时间为am / pm格式

string : 2014-04-25 17:03:13 

使用SimpleDateFormat是否足以格式化? 否则我将转向任何新的API?

 Date date = new Date(string); DateFormat dateFormat = new SimpleDateFormat ("yyyy-MM-dd"); out.println( dateFormat.format (date)); 

我的预期结果是(印度地区):

 Date : 25-04-2014 Time : 05:03 PM 

记住Date对象没有固有的格式,你需要两个DateFormat对象来产生你想要的结果 – 一个用于解析,另一个用于格式化:

 String input = "2014-04-25 17:03:13"; DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); DateFormat outputFormat = new SimpleDateFormat("'Date : 'dd-MM-yyyy\n'Time : 'KK:mm a"); System.out.println(outputFormat.format(inputFormat.parse(input))); 

输出:

 Date : 25-04-2014 Time : 05:03 PM 

请注意以格式使用带引号的序列,例如"'Date : '" ,它被视为格式模式中的文字。

我自定义onTimeSet()函数。 发送hourminutes 。 它将以format am and pm返回时间

 public static String onTimeSet( int hour, int minute) { Calendar mCalen = Calendar.getInstance();; mCalen.set(Calendar.HOUR_OF_DAY, hour); mCalen.set(Calendar.MINUTE, minute); int hour12format_local = mCalen.get(Calendar.HOUR); int hourOfDay_local = mCalen.get(Calendar.HOUR_OF_DAY); int minute_local = mCalen.get(Calendar.MINUTE); int ampm = mCalen.get(Calendar.AM_PM); String minute1; if(minute_local<10){ minute1="0"+minute_local; } else minute1=""+minute_local; String ampmStr = (ampm == 0) ? "AM" : "PM"; // Set the Time String in Button if(hour12format_local==0) hour12format_local=12; String selecteTime=hour12format_local+":"+ minute1+" "+ampmStr; retrun selecteTime; } 
 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm a"); 

您可以在这里找到更多模式

尝试下面的示例代码:

 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(); System.out.println(dateFormat.format(date)); //Output: 2013-05-20 10:16:44 

有关数据和时间的更多function,请尝试使用Joda-Time API 。