如何在android中将日期从24小时格式更改为12小时格式(上午/下午)

时间:2012-03-02 11:22:46

标签: android time-format

Calendar ci = Calendar.getInstance();

CiDateTime = "" + (ci.get(Calendar.MONTH) + 1) +  
    "/" + ci.get(Calendar.DAY_OF_MONTH) + 
    "/" + ci.get(Calendar.YEAR);

String visitdatetime = CiDateTime + "" + 
          ci.get(Calendar.HOUR_OF_DAY) + ":" + 
          ci.get(Calendar.MINUTE) + ":" + 
          ci.get(Calendar.SECOND);

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy  hh:mm  a");

我是24小时格式从服务器上获取的。但是想要显示我的日期,如MM / dd / yyyy hh:mm AM / PM,如12小时格式。

7 个答案:

答案 0 :(得分:9)

你试过这个吗?

SimpleDateFormat dateFromat= new SimpleDateFormat("MM/dd/yyyy  hh:mm  aa");
Date today = new Date();
String todayStr = dateFromat.format(today);

答案 1 :(得分:5)

以下功能可能对您有用。这将把时间从24小时转换为12小时

public static String Convert24to12(String time)
{
    String convertedTime ="";
    try {
        SimpleDateFormat displayFormat = new SimpleDateFormat("hh:mm a");
        SimpleDateFormat parseFormat = new SimpleDateFormat("HH:mm:ss");
        Date date = parseFormat.parse(time);        
        convertedTime=displayFormat.format(date);
        System.out.println("convertedTime : "+convertedTime);
    } catch (final ParseException e) {
        e.printStackTrace();
    }
    return convertedTime;
    //Output will be 10:23 PM
}

答案 2 :(得分:2)

public static final String TIME_FORMAT = "hh:mm aa";
SimpleDateFormat TimeFormat = new SimpleDateFormat(TIME_FORMAT);

Calendar ATime = Calendar.getInstance();
String Timein12hourFormat = TimeFormat.format(ATime.getTime());

答案 3 :(得分:1)

尝试这个答案,这是最短和最好的答案。

HTML

结果: - ========= 2015-11-20 05:52:25 PM

答案 4 :(得分:0)

以下是使用12小时时钟获取美英格式日期/时间数据的答案。

DateTime.Now.ToString("MM/d/yyyy hh:mm:ss tt");
01/16/2014 03:53:57 PM

答案 5 :(得分:0)

hh:mm a

添加'a'应该可以显示am / pm

在角度我正在使用angular-bootsrap-datetimepicker并显示我使用此语法的所选日期和时间

data-ng-model="event.start | date:'dd-MM-yyyy hh:mm a'"

答案 6 :(得分:-2)

使用以下格式到上午/下午12小时

MM / dd / yyyy HH:mm:ss a