当前位置: 首页 > 知识库问答 >
问题:

将字符串转换为am/pm格式的日期和时间[重复]

经正祥
2023-03-14
 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

共有3个答案

程峻
2023-03-14
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm a");

你可以在这里找到更多的模式

陈富
2023-03-14

我自定义onTimeSet()函数。将小时分钟发送给它。它将以格式am和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;


}

咸琪
2023-03-14

请记住,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:'",它在格式模式中被视为文字。

 类似资料: