0

JavaでDATETIME関数を変換するのを手伝ってくれる人はいますか? SMS ヘッダーから「Fri May 18 09:22:39 FJT 2012」という形式で日時形式を取得します。この形式「2012-05-18 09:51:42.39」に変換したいと思います。

4

3 に答える 3

0

@Guillaumeが提案したように、SimpleDateFormatを使用します。次に例を示します。

public String convert() throws ParseException  { 
    SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
    Date output =  format.parse("Fri May 18 09:22:39 FJT 2012");
    Calendar outputCal = Calendar.getInstance(format.getTimeZone());
    outputCal.setTime(output);
    return String.format("%04d-%02d-%02d %02d:%02d:%02d",outputCal.get(Calendar.YEAR),     outputCal.get(Calendar.MONTH)+1,  outputCal.get(Calendar.DAY_OF_MONTH), outputCal.get(Calendar.HOUR_OF_DAY), outputCal.get(Calendar.MINUTE), outputCal.get(Calendar.SECOND));
}

すべてがハードコーディングされています-必要に応じてパラメータを追加する必要があります

于 2012-05-17T22:45:48.150 に答える
0
import java.text.SimpleDateFormat;

..。

String d = "Fri May 18 09:22:39 FJT 2012";
SimpleDateFormat inputFormat  = new SimpleDateFormat("EEE MMM d HH:mm:ss ZZZ yyyy");
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SS");
outputFormat.setTimeZone(TimeZone.getTimeZone("GMT"));  // set yr time zone for output
Date date = inputFormat.parse(d);
System.out.println(outputFormat.format(date));
于 2012-05-17T22:47:36.057 に答える
0

そのためにSimpleDateFormatを使用します。タイムゾーン「FJT」がJavaで知られているかどうかはわかりませんが。そのため、そのためにいくつかのトリックを行う必要があるかもしれません。

于 2012-05-17T22:07:33.960 に答える