【问题标题】:Format date from datepicker with dateformat使用 dateformat 从 datepicker 格式化日期
【发布时间】:2014-11-17 22:21:00
【问题描述】:

我得到了这个editText,当你点击它时,它会打开一个日期选择器对话框,所以我选择了一个日期,我想在edittext中显示它,但我想格式化日期区域设置。我希望它对我们的人和其他人自动成为 mm/dd/yyyy 和其他人 dd/mm/yyyy。

我不想用simpledateformat,我想用dateformat。

editDate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //To show current date in the datepicker
                Calendar mcurrentDate=Calendar.getInstance();
                mYear=mcurrentDate.get(Calendar.YEAR);
                mMonth=mcurrentDate.get(Calendar.MONTH);
                mDay=mcurrentDate.get(Calendar.DAY_OF_MONTH);

                DatePickerDialog mDatePicker=new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() {
                    public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) {
                        final Calendar c = Calendar.getInstance();
                        c.set(Calendar.YEAR, selectedyear);
                        c.set(Calendar.MONTH, selectedmonth);
                        c.set(Calendar.DAY_OF_MONTH, selectedday);

                       // Date date = c.getTime();
                       // editDate.setText(date);
                    }
                },mYear, mMonth, mDay);
                mDatePicker.setTitle("Select date");
                mDatePicker.show();  }
        });

【问题讨论】:

    标签: java android date datepicker


    【解决方案1】:

    我自己修好了。 由于错误的导入,我遇到了这么多问题。

    我在 ondateset 方法中是这样做的:

    java.text.DateFormat f = java.text.DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.getDefault());
                            editDate.setText(f.format(c.getTime()));
    

    【讨论】:

      【解决方案2】:

      你需要一个机制来获取用户的Locale,然后你可以格式化日期Java样式

      DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.US);
      System.out.println(df.format(new Date()));
      // Nov 18, 2014
      
      df = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.FRANCE);
      System.out.println(df.format(new Date()));
      // 18 nov. 2014
      

      【讨论】:

      • 这不是问题 = Locale.getDefault() 但这只是我需要相应地更改日期我得到的语言环境
      • 上面的方法将采用你得到的任何语言环境
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-17
      • 1970-01-01
      • 1970-01-01
      • 2012-12-20
      • 2016-03-02
      • 1970-01-01
      相关资源
      最近更新 更多