【问题标题】:How can I change date from 24-hours format to 12-hours format (am/pm) in android如何在 android 中将日期从 24 小时格式更改为 12 小时格式(上午/下午)
【发布时间】:2012-03-20 21:46:09
【问题描述】:
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 小时格式显示我的日期。

【问题讨论】:

  • 我没有看到你的问题。您的格式化程序似乎正确。怎么了?
  • 其实我改不了..
  • smthing 错误是 thr..java.lang.IllegalArgumentException
  • 我认为您的问题中缺少一部分。我认为更多的是解析日期而不是格式化它。您从服务器收到日期的格式是什么?你能贴一个日期的例子吗? (它可能是一种标准格式,有很多工具可以解析它。)

标签: android time-format


【解决方案1】:

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

MM/dd/yyyy HH:mm:ss a

【讨论】:

    【解决方案2】:

    你试过了吗?

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

    【讨论】:

      【解决方案3】:

      以下功能可能对您有用。这会将时间从 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
      }
      

      【讨论】:

      • 我想更改完整的日期格式..那我该怎么办..我只需要在上面得到这样的日期我已经写了这个
      • 请查看我的查询并检查..visitdatetime..我得到的日期类似于日期..我想解析它..所以请帮助我
      【解决方案4】:
      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());
      

      【讨论】:

        【解决方案5】:

        这是使用 12 小时制获取美国英语格式日期/时间数据的答案。

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

        【讨论】:

          【解决方案6】:

          hh:mm a

          添加“a”应该可以显示上午/下午

          在 Angular 中,我使用 angular-bootsrap-datetimepicker 并显示所选日期和时间,我使用此语法

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

          【讨论】:

            【解决方案7】:

            试试这个答案,这是堆栈上最短和最好的答案。

             Calendar c = Calendar.getInstance();
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss aa");
             Datetime = sdf.format(c.getTime());
             System.out.println("============="+Datetime);
            

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2012-01-10
              • 1970-01-01
              • 2015-06-02
              • 2011-11-16
              • 1970-01-01
              • 2020-11-02
              • 1970-01-01
              相关资源
              最近更新 更多