2016-01-23 13 views
-1

Я сделал с получением и установкой даты и времени для своего TextView, теперь я хочу знать «Как конвертировать дату и время в миллисекунды, когда я выбираю и устанавливаю с DatePicker и TimePicker в TextView», помогите мне с кодамиКак преобразовать дату и время в миллисекунды?

мой попробовал код,

public class MainActivity extends AppCompatActivity { 
private TextView txtDateSet; 
private TextView txtTimeSet; 
int cDay, cMonth, cYear; 
int tHours, tMinutes; 

@Override 
protected void onCreate (Bundle savedInstanceState) { 
    super.onCreate (savedInstanceState); 
    setContentView (R.layout.activity_main); 

    txtDateSet = (TextView) findViewById (R.id.txt_date_display); 
    txtTimeSet = (TextView) findViewById (R.id.txt_time_display); 

    txtDateSet.setOnClickListener (new View.OnClickListener() { 
     @Override 
     public void onClick (View v) { 
      displayAlertDialog(); 
     } 
    }); 

} 

public void displayAlertDialog() { 

    AlertDialog.Builder builder = new AlertDialog.Builder (this); 
    LayoutInflater inflater = (LayoutInflater) getSystemService (Context.LAYOUT_INFLATER_SERVICE); 
    final View layout = inflater.inflate (R.layout.custom_alert, (ViewGroup) findViewById (R.id.lnt_root)); 
    final DatePicker dateSet = (DatePicker) layout.findViewById (R.id.date_picker); 
    final TimePicker timeSet = (TimePicker) layout.findViewById (R.id.time_picker); 
    final TextView txtOk = (TextView) layout.findViewById (R.id.txt_ok); 

    builder.setView (layout); 
    final AlertDialog alertDialog = builder.create(); 
    alertDialog.setCanceledOnTouchOutside (true); 
    alertDialog.show(); 

    txtOk.setOnClickListener (new View.OnClickListener() { 
     @TargetApi(Build.VERSION_CODES.M) 
     @Override 
     public void onClick (View v) { 
      cDay = dateSet.getDayOfMonth(); 
      cMonth = dateSet.getMonth(); 
      cYear = dateSet.getYear(); 
      tHours = timeSet.getCurrentHour(); 
      tMinutes = timeSet.getCurrentMinute(); 

      Calendar cal = Calendar.getInstance(); 
      cal.set(Calendar.YEAR, cYear); 
      cal.set(Calendar.MONTH, cMonth); 
      cal.set (Calendar.DAY_OF_MONTH, cDay); 
      cal.set (Calendar.HOUR_OF_DAY, tHours); 
      cal.set (Calendar.MINUTE, tMinutes); 

      SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy"); 
      String formatedDate = sdf.format(cal.getTime()); 
      txtDateSet.setText (""+formatedDate); 

      SimpleDateFormat stf = new SimpleDateFormat ("hh:mm aa"); 
      String formatedTime = stf.format (cal.getTime()); 
      txtTimeSet.setText (""+formatedTime); 

      alertDialog.dismiss(); 
     } 
    }); 
}} 
+0

В чем проблема с данным изделием? –

+0

'cal.getTimeInMillis()' –

+0

хотите знать, как конвертировать дату и время в миллисекунды – Rahul

ответ

0

Самый простой подход, вероятно, использовать SimpleDateFormat, установив часовой пояс соответствующим образом: Установка часового пояса является важным здесь немного, так как в противном случае он будет интерпретировать значение, чтобы быть в местный часовой пояс.

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US); 
    format.setTimeZone(TimeZone.getTimeZone("UTC")); 

    Date date = format.parse(text); 
    long millis = date.getTime(); 
Смежные вопросы