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

convert string to date and time as am/pm format

本问题已经有最佳答案,请猛点这里访问。
1
 string : 2014-04-25 17:03:13

使用simpledateformat是否足够格式化?或否则我会转向任何新的API?

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

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

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


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

1
2
3
4
5
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
'Time : 'KK:mm a"
);
System.out.println(outputFormat.format(inputFormat.parse(input)));

输出:

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

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


我定制了onTimeSet()功能。把hourminutes送到它那里。它将与format am and pm一起返回时间。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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;


}


请尝试以下示例代码:

1
2
3
4
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。


1
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm a");

你可以在这里找到更多的图案