【问题标题】:How to change the format of how a DatePicker Dialog inputs it in EditText如何更改 DatePicker 对话框在 EditText 中输入的格式
【发布时间】:2017-02-03 19:04:26
【问题描述】:

我有一个 EditText 和一个按钮,当我单击该按钮时,它会打开一个 DatePicker 并将所选日期输入到 EditBox 中。它以 24 小时格式执行此操作,这正是我想要的……但如果日期的部分是 1 位数字,它只会显示为 1 位数字。我想要做的是应用一种格式,这样如果它是 1 位数字,我希望它显示 2 位数字。像这样。 2017 年 3 月 2 日,我希望它是 2017 年 3 月 2 日。

Time 也在做同样的事情。我不确定代码的哪一部分也发布了,如果您需要代码以及什么,请告诉我,我会在这里发布。

【问题讨论】:

  • 我的回答对你有帮助吗?

标签: java android date android-studio datepicker


【解决方案1】:

几个选项:

使用 SimpleDateFormat 类。

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy", Locale.US);
editBox.setText(dateFormat.format(date)); 

格式字符串 MM/dd/yyyy 将提供您需要的内容。如果需要,您还可以通过更改格式字符串(例如“MM/dd/yyyy hh:mm:ss”)来显示时间值。这假设您正在显示存储在 Date 对象(在本例中称为 date)中的日期。

或者使用String.format

editBox.setText(String.format("%02d/%02d/%04d",month,day,year));

%02 表示使用前导零的 2 个位置。

【讨论】:

    【解决方案2】:

    试试这个:

       int year = mDatePicker.getYear();
       int month = mDatePicker.getMonth();
       int day = mDatePicker.getDayOfMonth();
    
        if(month < 10){
    
            month = "0" + month;
        }
        if(day < 10){
    
            day  = "0" + day ;
        }
        myText.setText(day + "-" + month + "-" + year);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      • 2019-09-23
      • 2023-02-08
      • 1970-01-01
      • 2015-04-28
      • 1970-01-01
      相关资源
      最近更新 更多