将字符串转换为日期和时间为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()
函数。 发送hour
和minutes
。 它将以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 。