【问题标题】:Android Calendar DateFormat regional behaviorAndroid Calendar DateFormat 区域行为
【发布时间】:2016-07-29 12:14:40
【问题描述】:

在我的 android 应用程序中,我使用以下代码获取时间和日期:

Calendar calendar = Calendar.getInstance();
String date = DateFormat.getDateInstance().format(calendar.getTime());
String time = DateFormat.getTimeInstance().format(calendar.getTime());

在我的 Galaxy Note 4 中,我得到了:

  • 日期:29.07.2016
  • 时间:14:10:30

在华为 Mate 8 中:

  • 日期:29.07.2016
  • 时间:02:10:30 nachm(下午的意思)。

在某些客户设备上,它有更多格式。

那么,我的问题是如何以相同格式在所有设备和区域上获取日期和时间?

我想要 dd.mm.yyyy 日期和 hh:mm:ss 时间。

【问题讨论】:

    标签: android date time calendar


    【解决方案1】:

    一个选项是SimpleDateFormat

    Calendar calendar = Calendar.getInstance();
    
    SimpleDateFormat dataFormater = new SimpleDateFormat();
    
    dataFormater.applyPattern("dd.MM.yyyy");
    String date = dataFormater.format(calendar.getTime());
    
    dataFormater.applyPattern("hh:mm:ss");
    String time = dataFormater.format(calendar.getTime());
    

    【讨论】:

    • 我更新了答案.. 我错误地使用“mm”表示月份和分钟
    • 很高兴能帮到你
    【解决方案2】:

    我认为日期对你来说没问题,所以你必须手动格式化日历中的时间,如下所示。

    public static final String TIME_FORMAT = "hh:mm:ss";
    SimpleDateFormat TimeFormat = new SimpleDateFormat(TIME_FORMAT);
    
    Calendar ATime = Calendar.getInstance();
    String Timein12hourFormat = TimeFormat.format(ATime.getTime());

    希望对您有所帮助。让我知道。

    【讨论】:

      猜你喜欢
      • 2019-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多