私はアンドロイドのタイムピッカーを持っています。私はJavaコードで時間を取得し、それを文字列に変換する必要があります: "08:00:00"(時、分、秒)TimePickerの時刻を「08:00:00」の形式で取得するにはどうすればよいですか?
誰かが助けることができます私は簡単な方法でそれを行うには?
コード例は
私はアンドロイドのタイムピッカーを持っています。私はJavaコードで時間を取得し、それを文字列に変換する必要があります: "08:00:00"(時、分、秒)TimePickerの時刻を「08:00:00」の形式で取得するにはどうすればよいですか?
誰かが助けることができます私は簡単な方法でそれを行うには?
コード例は
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
String formatted = format.format(date); // date is a long in milliseconds
TimePicker t = new TimePicker(this);
String formattedTime = "";
int hour = t.getCurrentHour();
String sHour = "00";
if(hour < 10){
sHour = "0"+hour;
} else {
sHour = String.valueOf(hour);
}
int minute = t.getCurrentMinute();
String sMinute = "00";
if(minute < 10){
sMinute = "0"+minute;
} else {
sMinute = String.valueOf(minute);
}
formattedTime = sHour+":"+sMinute+":"+"00"; // Sorry you can't get seconds from a TimePicker
TimePicker
を理解される設定時間を取得するために利用可能な2つの方法を持っています。 getCurrentHour
およびgetCurrentMinute
。
これを文字列として出力するのはあまり難しくありません。ところで
String s;
Format formatter;
Calendar calendar = Calendar.getInstance();
// tp = TimePicker
calendar.set(Calendar.HOUR_OF_DAY, tp.getCurrentHour());
calendar.set(Calendar.MINUTE, tp.setCurrentMinutes());
calendar.clear(Calendar.SECOND); //reset seconds to zero
formatter = new SimpleDateFormat("HH:mm:ss");
s = formatter.format(calendar.getTime()); // 08:00:00
、小文字hh
はあなたに12時間時計を取得します。
おそらく '00'と現在の秒ではないときにフォーマットを':ss'に設定しました。フォーマットを '' HH:mm:00 "'に変更することができます –
DateUtils
も非常に便利です。
SimpleDateFormatを使用して日付と時刻の書式を設定するだけです。
Calendar cal=new Calendar();
SimpleDateFormat frmDate=SimpleDateFormat("dd-MM-yyyy");
String s=frmDate.format(cal.getTime());
SimpleDateFormat frmTime=SimpleDateFormat("HH:MM:SS");
String t=frmTime.formate(cal.getTime());
http://developer.android.com/reference/java/text/SimpleDateFormat.html http://developer.android.com/reference/java/text/DateFormat.html
、日付ではありません時間です:S – NullPointerException
も、それは、それは動作しません。私には不正な引数の例外が与えられます。なぜなら、私はtimepickerをformat.format()に渡さなければならないからです。あなたは日付を渡しています:S – NullPointerException
ピッカーから時間をミリ秒単位で取得する方法を知っていると仮定し、フォーマッタを使用して文字列を取得します。コードスニペットで 'date'を' time'に置き換えることができます。何も変更されません。両方とも数ミリ秒になると予想されるからです。 –