【问题标题】:How to set the Date in the format 12 May,2014 and Time in the format 1:30 PM using Datepicker and Timepicker in Android?如何在 Android 中使用 Datepicker 和 Timepicker 设置格式为 2014 年 5 月 12 日的日期和格式为下午 1:30 的时间?
【发布时间】:2014-05-12 11:15:25
【问题描述】:

我在我的 Android 应用中做了以下两件事。首先,在单击编辑文本时,我打开了一个 Datepicker。我单击一个日期,日期以 2014 年 12 月 5 日的格式设置在编辑文本上。我想将其设置为 2014 年 5 月 12 日这样的格式。这个怎么做。其次,在单击另一个编辑文本时,我会打开一个 TimePicker,单击它会以 1:30 的形式在编辑文本上设置时间。我想将其设置为下午 1:30。这个怎么做?我在下面发布我的代码,请指导我一步一步。

日期选择器代码

final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {

@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
        int dayOfMonth) {
    // TODO Auto-generated method stub
     myCalendar.set(Calendar.YEAR, year);
        myCalendar.set(Calendar.MONTH, monthOfYear);
        myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
        updateLabel();
}

private void updateLabel() {
    // TODO Auto-generated method stub
    String myFormat = "MM/dd/yy"; //In which you need put here
    SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);

    datepick.setText(sdf.format(myCalendar.getTime()));
}

   };
 datepick.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
     new DatePickerDialog(getActivity(), date, myCalendar
             .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
             myCalendar.get(Calendar.DAY_OF_MONTH)).show();
}
   } );

时间选择器代码

tasktime.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
     Calendar mcurrentTime = Calendar.getInstance();
     int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
     int minute = mcurrentTime.get(Calendar.MINUTE);

     TimePickerDialog mTimePicker;
     mTimePicker=new TimePickerDialog(getActivity(), new TimePickerDialog.OnTimeSetListener() {

        @Override
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
            // TODO Auto-generated method stub
             tasktime.setText( hourOfDay + ":" + minute);
        }
    }, hour, minute, true);
     mTimePicker.setTitle("Select Time");
     mTimePicker.show();
}
  });

【问题讨论】:

  • 你的代码的结果是什么?,日期和时间的输出?
  • 我得到的日期是 12/5/2014 和时间 12:30。

标签: android android-datepicker android-timepicker


【解决方案1】:

将日期格式从“MM/dd/yy”更改为“dd MMM,yyyy” 并在当时使用 simpleDateFomate 格式为“h:mm a”

【讨论】:

    【解决方案2】:
    // try this way,hope this will help you....
    
    @Override
    public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
        Time chosenDate = new Time();
        chosenDate.set(dayOfMonth, monthOfYear, year);
        long dt = chosenDate.toMillis(true);
        CharSequence strDate = DateFormat.format(MM/dd/yy", dt);
        datepick.setText(strDate.toString());
    }
    
    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
       Calendar date = Calendar.getInstance();
       Time chosenDate = new Time();
       chosenDate.set(0, minute, hourOfDay, date.get(Calendar.DAY_OF_MONTH), date.get(Calendar.MONTH), date.get(Calendar.YEAR));
       long dt = chosenDate.toMillis(true);
       CharSequence strDate = DateFormat.format("kk:mm", dt);
       tasktime.setText(strDate);
    }
    

    【讨论】:

      【解决方案3】:

      使用 SimpleDateFormat。使用下面的方法并以字符串格式提供您的日期作为参数

      public static String dateFormatter(String date)
      
          {
              SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
      
              String s = "";
              try {
                  Date dt = sdf.parse(date);
                  sdf = new SimpleDateFormat("dd-MMM-yyyy");
                  s = sdf.format(dt);
                  // Log.v("*****", s);
      
              } catch (ParseException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
              return s;
          }
      

      时间,请参考以下链接: Convert time value to format “hh:mm Am/Pm” using Android

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-26
        • 2020-09-26
        • 1970-01-01
        • 2014-11-25
        相关资源
        最近更新 更多