【问题标题】:I need to show time 24 hrs format to 12 (am/pm) hrs format [duplicate]我需要将时间 24 小时格式显示为 12(上午/下午)小时格式 [重复]
【发布时间】:2018-05-31 05:59:53
【问题描述】:

在此代码中,如果是 12:01:00,则显示错误的时间,它显示的是上午 12:00,但正确的时间是下午 12:00:

private static final String sourceFormat = "hh:mm:ss";
private static final String targetFormat = "hh:mm a";

public static String convertTimeFormat(String dateStr) {

    if (dateStr.equals("")) {
        return "";
    }
    Log.d("date", dateStr + "---" + sourceFormat + "---" + targetFormat);
    SimpleDateFormat form = new SimpleDateFormat(sourceFormat);
    Date date = null;
    try {
        date = form.parse(dateStr);
    } catch (Exception e) {
        e.printStackTrace();
    }
    SimpleDateFormat postFormater = new SimpleDateFormat(targetFormat);
    String newDateStr = postFormater.format(date);
    Log.d("Lead Response", newDateStr);
    return newDateStr;
}

非常感谢您在此问题上的时间和帮助。

【问题讨论】:

  • 如果您的源时间是 24 小时格式,您需要在 sourceFormat 中使用 'HH' 而不是 'hh'。
  • @HareshChhelana 它不工作
  • @AkshayBarodia 如果它不起作用那么为什么你接受 Venki WAR 的答案。

标签: java android


【解决方案1】:
private static final String sourceFormat = "hh:mm:ss";

改成

private static final String sourceFormat = "HH:mm:ss";

我在我的 IDE 中检查了它工作正常

private static final String sourceFormat = "HH:mm:ss";
    private static final String targetFormat = "hh:mm a";

public static String convertTimeFormat(String dateStr)  {

        if (dateStr.equals("")) {
            return "";
        }
        Log.d("date", dateStr + "---" + sourceFormat + "---" + targetFormat);

        **SimpleDateFormat form = new SimpleDateFormat(sourceFormat, Locale.US);**


        Date date = null;
        try {
            date = form.parse(dateStr);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        **SimpleDateFormat postFormater = new SimpleDateFormat(targetFormat, Locale.US);**

        String newDateStr = postFormater.format(date);
       Log.d("Lead Response", newDateStr);
        return newDateStr;
    }

【讨论】:

  • 这就是我在评论中的建议。
  • 我没有看到你的评论。当我开始解决方案时,那里没有 cmets
  • 对不起。如果你感觉不对
  • 没关系,我只是尝试强调该评论,谢谢,干得好。
猜你喜欢
  • 2012-01-10
  • 2015-06-02
  • 2019-04-12
  • 2012-03-20
  • 2020-11-02
  • 1970-01-01
  • 2012-02-23
  • 2019-10-19
  • 1970-01-01
相关资源
最近更新 更多