2017-03-15 36 views
1

アプリで指定されたタイムゾーンで日付ピッカーを設定しようとしています。私は現在の選択とminDatesを適用するのにいくらか成功しましたが、今日の日付(日付選択ダイアログで太字の数字)を変更することはできません。私は指定されたタイムゾーンの代わりに今日の日付を設定するためにgetDefultタイムゾーンを使ってdatepickerを示す画像をアップロードしました。DatePickerで「今日の日付」をタイムゾーン(Android)で設定する

今日の日付はどのように指定できますか?

billDate.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       billDateDialog.show(); 
       billDateDialog.updateDate(billDateCal.get(Calendar.YEAR), billDateCal.get(Calendar.MONTH), billDateCal.get(Calendar.DAY_OF_MONTH)); 
      } 
     }); 

     billDateDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() { 

      public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
       long correctedTime = new DayLightSavings(BillsAdd.this, year, monthOfYear, dayOfMonth, timeZone).getCorrectedTime(); 
       billDateCal.setTimeInMillis(correctedTime); 
       billDate.setText(dateFormatter.format(billDateCal.getTimeInMillis())); 
      } 

     },billDateCal.get(Calendar.YEAR), billDateCal.get(Calendar.MONTH), billDateCal.get(Calendar.DAY_OF_MONTH)); 

     long oneDay = TimeUnit.MILLISECONDS.convert(1, TimeUnit.DAYS); 

     long oldRawOffset = TimeZone.getDefault().getRawOffset(); 
     long newRawOffset = timeZone.getRawOffset(); 
     long rawOffset = oldRawOffset - newRawOffset; 

     billDateDialog.getDatePicker().setMinDate(Calendar.getInstance().getTimeInMillis() + oneDay - rawOffset); 

enter image description here

答えて

1

あなたはこのcode.Thisがあなたのために役に立つかもしれません確認することができます...

//Create calendar instance 
    final Calendar c = Calendar.getInstance(); 
    year = c.get(Calendar.YEAR); 
    month = c.get(Calendar.MONTH); 
    day = c.get(Calendar.DAY_OF_MONTH); 

    // Launch Date Picker Dialog 
    final DatePickerDialog dpd = new DatePickerDialog(this, 
      new DatePickerDialog.OnDateSetListener() { 

       @Override 
       public void onDateSet(DatePicker view, int year, 
             int monthOfYear, int dayOfMonth) { 
        // Display Selected date in textbox 
        tvStartdate.setText(dayOfMonth + "-" 
          + (monthOfYear + 1) + "-" + year); 
        tvStartdate.setTextColor(Color.BLACK); 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
        String formatedDate = sdf.format(new Date(year - 1900, monthOfYear, dayOfMonth)); 
        sd = formatedDate; 

       } 
      }, year, month, day); 
    dpd.getDatePicker().setMinDate(System.currentTimeMillis() - 1000); 
    dpd.show(); 
+0

私は、日付ピッカーのdialuge "現在の太字の日付を" 変えるとより心配していました – Mazz

関連する問題