web-dev-qa-db-ja.com

Androidで日付と時刻をミリ秒に変換します

DateTime from DatePickerTimePickerがあります。ここで、選択した日付と時刻をミリ秒に変更します。これどうやってするの???

たとえば、Date selected 2-5-2012およびTime20:43

今、この日付時刻をミリ秒のようなものに変換する必要があります

DateTimeInMilliseconds = 1234567890

28
Ahmad Abbasi

DatePickerとTimePickerの値を使用してCalendarオブジェクトを作成できます。

Calendar calendar = Calendar.getInstance();
calendar.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(), 
             timePicker.getCurrentHour(), timePicker.getCurrentMinute(), 0);
long startTime = calendar.getTimeInMillis();
49
Sam

2つの文字列をマージし、 SimpleDateFormat を使用して解析します。

このようなもの:

String toParse = myDate + " " + myTime; // Results in "2-5-2012 20:43"
SimpleDateFormat formatter = new SimpleDateFormat("d-M-yyyy hh:mm"); // I assume d-M, you may refer to M-d for month-day instead.
Date date = formatter.parse(toParse); // You will need try/catch around this
long millis = date.getTime();

IDEOneのサンプル: http://ideone.com/nOJYQ4

11
Eric

このコードを使用できます

String string_date = "12-December-2012";

SimpleDateFormat f = new SimpleDateFormat("dd-MMM-yyyy");
Date d = f.parse(string_date);
long milliseconds = d.getTime();
6
Dawood Abbasi

DateクラスのgetTime()メソッドは、ミリ秒単位の時間でlongを返します。

http://developer.Android.com/reference/Java/util/Date.html

そのため、次のようなDateオブジェクトがある場合:

Date date;

できるよ:

System.out.println(date.getTime());

そして、ミリ秒単位で時間を出力します。

4
fonZ