私はデータベースに2012-01-18-11-42-24のように以前の期間を入力したので、この時間をミリ秒に変換する方法、私はとても混乱しました、私は多くの方法を試しましたが、今回は取得できませんでしたミリ秒単位。
私の最終的な目的は、期間2012-04-18-11-42-24の時間と現在の時間を見つけることです。そのように考えてください、方法は?
DateFormatクラスとSimpleDateFormatクラスを見てください。それらには、その表現からオブジェクトparse(String string)
を提供するメソッドがあります。その後、メソッドを使用して時間をミリ秒単位で取得し、それらを比較できます。Date
String
getTime()
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date c_date=new Date(); //current date
Date saved_date=(Date)outputFormat.parse("2012-01-18-11-42-24"); //saved date
long diffInMs = c_date.getTime() -saved_date.getTime(); //diff between two in milisecond
long diffInSec = TimeUnit.MILLISECONDS.toSeconds(diffInMs); //millisecond to second convertion
現在の日付の代わりに2番目の日付にsaved_dateと同じように使用し、同じ方法で2つの間の期間を見つけることができます
これを試して、
public long convertDateToMillis(int day, int month, int year, int hour, int minute)
{
Calendar c = Calendar.getInstance();
c.set(year, month, day, hour, minute, 00);
return c.getTimeInMillis();
}
このコードを使用して時間をミリ秒単位で取得します
Date date1 = new Date(datepicker.getYear() - 1900, datepicker.getMonth(), datepicker.getDayOfMonth(), timepicker.getCurrentHour()*3600000, timepicker.getCurrentMinute()*60000);
Log.i(TAG, date1.toString());