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
答案 0 :(得分:17)
记住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 : '"
,在格式模式中视为文字。
答案 1 :(得分:3)
我自定义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;
}
答案 2 :(得分:0)
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm a");
您可以找到更多模式here
答案 3 :(得分:0)
尝试下面的示例代码:
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
有关数据和时间的更多功能,请尝试Joda-Time API。