【问题标题】:date format change in datepicker and calendar日期选择器和日历中的日期格式更改
【发布时间】:2013-01-04 08:46:21
【问题描述】:

如何将2/3/2013格式改为02/03/2013 (dd/mm/yyyy)

 Calendar c1 = Calendar.getInstance();
    year = c1.get(Calendar.YEAR);
    month = c1.get(Calendar.MONTH);
    day = c1.get(Calendar.DAY_OF_MONTH);
//  formatter = new SimpleDateFormat("dd/MM/yyyy");


     public void onDateSet(DatePicker view, int selectedYear,
            int selectedMonth, int selectedDay) {
            year = selectedYear;
            month = selectedMonth;
            day = selectedDay;
            // set selected date into textview.
            searchText.setText(new StringBuilder().append(month + 1).append("/").append(day).append("/").append(year).append(" "));
            Log.i("DatePickerDialog","DatePickerDialog");
            dpResult = (DatePicker) findViewById(R.id.dpResult);
            // set selected date into datepicker also.
            dpResult.init(year, month, day, null);
            user.setSearchEntityType("ByDate");
        }       
    };

电流输出:

1/2/2013 
d/m/y

正在寻找:

01/02/2013
dd/mm/yyyy

【问题讨论】:

    标签: android android-layout android-intent android-emulator


    【解决方案1】:
    @Override
    public void onDateSet(DatePicker view, int year, int monthOfYear,
            int dayOfMonth) {
    
        int month = monthOfYear + 1;
        String formattedMonth = "" + month;
        String formattedDayOfMonth = "" + dayOfMonth;
    
        if(month < 10){
    
            formattedMonth = "0" + month;
        }
        if(dayOfMonth < 10){
    
            formattedDayOfMonth = "0" + dayOfMonth;
        }
        searchText.setText(formattedDayOfMonth + "/" + formattedMonth + "/" + year);
    }
    

    【讨论】:

      【解决方案2】:

      使用DateFormat 类。做这样的事情:

      Calendar cal = Calendar.instance();
      cal.set(year, month, day);
      CharSequence output = DateFormat.format("MM/dd/yyyy", cal);
      

      更多示例请参见here

      【讨论】:

        【解决方案3】:

        使用此代码获取 dd/mm/yy 等格式。

        int month = monthOfYear + 1;
        String formattedMonth = "" + month;
        String formattedDayOfMonth = "" + dayOfMonth;
        String formattedYear=String.valueOf(year);
        
        if(month < 10){
        
           formattedMonth = "0" + month;
        }
        if(dayOfMonth < 10){
        
           formattedDayOfMonth = "0" + dayOfMonth;
        }
        
        formattedYear=formattedYear.substring(formattedYear.length()-2);
        String date=formattedDayOfMonth + "/" + formattedMonth + "/" + formattedYear;
        mEDDate.setText(date);
        

        【讨论】:

          【解决方案4】:

          简单,添加条件如下:

           if (month<10)
             month='0'+month;
           if (day<10)
             day='0'+day;
          

          【讨论】:

          • 它以这种方式显示 [ 方法 parseInt(int) 未定义类型 new DatePickerDialog.OnDateSetListener(){}]
          • 我用了同样的格式。它给出的输出是 49/51/2013 我在 searchText.setText(new StringBuilder().append(month + 1).append("/").append(day).append("/") 中所做的任何更改.append(year).append(" "));
          猜你喜欢
          • 1970-01-01
          • 2017-06-25
          • 2014-04-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多