如何在机器人

时间:2017-03-17 09:48:05

标签: android datetime

从网络服务,接收时间为23:30:00。我想将其转换为12小时的格式。我希望输出类似于晚上11:30(转换后23:30:00)。

9 个答案:

答案 0 :(得分:4)

使用 SimpleDateFormat 将一次/日期格式转换为另一种格式。

Log.v("12HRS Time", getFormatedDateTime("23:30:00", "HH:mm:ss", "hh:mm a"))

public static String getFormatedDateTime(String dateStr, String strReadFormat, String strWriteFormat) {

    String formattedDate = dateStr;

    DateFormat readFormat = new SimpleDateFormat(strReadFormat, Locale.getDefault());
    DateFormat writeFormat = new SimpleDateFormat(strWriteFormat, Locale.getDefault());

    Date date = null;

    try {
        date = readFormat.parse(dateStr);
    } catch (ParseException e) {
    }

    if (date != null) {
        formattedDate = writeFormat.format(date);
    }

    return formattedDate;
}

对于 SimpleDateFormat 参考: - https://developer.android.com/reference/java/text/SimpleDateFormat.html

答案 1 :(得分:3)

使用日期模式获取它的最简单方法 - h:mm a,其中

h - Hour in am/pm (1-12)
m - Minute in hour
a - Am/pm marker

代码段:

DateFormat dateFormat = new SimpleDateFormat("hh:mm a");

有关详细信息,请参阅此link

答案 2 :(得分:1)

尝试SimpleDateFormat

实施例

Date dateToFormat = new Date(someDate);
SimpleDateFormat dateFormatExpression = new SimpleDateFormat("hh:mm a");
String formattedDate = dateFormatExpression.format(dateToFormat);

答案 3 :(得分:0)

试试这个。

DateFormat dateFormat = new SimpleDateFormat("hh:mm a");

答案 4 :(得分:0)

只需使用SimpleDateFormat

即可 像这样......

public String GetTimeWithAMPMFromTime(String dt) {
        try {
            SimpleDateFormat inFormat = new SimpleDateFormat("HH:mm:ss");
            Date date = inFormat.parse(dt);
            SimpleDateFormat outFormat = new SimpleDateFormat("hh:mm a");
            String goal = outFormat.format(date);
            return goal;
        } catch (ParseException e) {
            e.printStackTrace();
            return "";
        }
    }

调用方法......

String YOUR_TIME = GetTimeWithAMPMFromTime(WEB_SERVICE_TIME);

答案 5 :(得分:0)

android.text.format.DateFormat myDate = new android.text.format.DateFormat();
myDate.format("hh:mm a", new java.util.Date());

DateFormat

答案 6 :(得分:0)

public static void convert(String time) throws Exception {
       try {       
           SimpleDateFormat t24 = new SimpleDateFormat("HH:mm");
           SimpleDateFormat t12 = new SimpleDateFormat("hh:mm a");
           Date date = t24.parse(time);
           System.out.println(t12.format(date));
       } catch (Exception e) {
           e.printStackTrace();
       }
   }

答案 7 :(得分:0)

一个线路代码

String time = null;
try{
  time = new SimpleDateFormat("HH:mm").format(new SimpleDateFormat("HH:mm:ss").parse("your_time");
}catch{
}

your_time中,您必须提供要转换的输入。

答案 8 :(得分:0)

我就是这样回答的,我已经测试过了(y)

 startTime = "2013-02-27 21:06:30";
                    StringTokenizer tk = new StringTokenizer(startTime);
                    String date = tk.nextToken();  
                    String time = tk.nextToken();

                    SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
                    SimpleDateFormat sdfs = new SimpleDateFormat("hh:mm a");
                    Date dt;
                    try {    
                        dt = sdf.parse(time);
                        System.out.println("Time Display: " + sdfs.format(dt)); // <-- I got result here
                    } catch (ParseException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }