java.text.SimpleDateFormat
を使用します およびjava.util.TimeZone
日付文字列はどのタイムゾーンにありますか?以下のUTC
を置き換えます そのタイムゾーンのタイムゾーン
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = sdf.parse("2014-02-15 05:18:08");
SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss a");
sdf2.setTimeZone(TimeZone.getTimeZone("IST"));
String dateStr = sdf2.format(date); // Output: 15-02-2014 10:48:08 AM
注: 入力文字列の時間はどの形式(24時間/ 12時間)ですか?上記の例では、入力文字列にAM / PM情報が含まれていないため、24時間形式であると想定しています。
入力文字列も12時間形式の場合、入力文字列には2014-02-15 05:18:08 PM
などのAM/PM情報も記載する必要があります。 。その場合は、sdf
を変更してください new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a")
へ
========================編集: =====================
コメント「日付と時刻を別々に抽出する方法」で次の質問に答えるには...
SimpleDateFormat sdfDate = new SimpleDateFormat("dd-MM-yyyy");
sdfDate.setTimeZone(java.util.TimeZone.getTimeZone("IST"));
SimpleDateFormat sdfTime = new SimpleDateFormat("hh:mm:ss a");
sdfTime.setTimeZone(java.util.TimeZone.getTimeZone("IST"));
String dateStr = sdfDate.format(date);
String timeStr = sdfTime.format(date);