0

1つはFacebookから、2つ目はTwitterからの2つの日付があります。どうすればそれらを同じ形式に変換できますか。以下は私が取得している日付です

Facebook Date= 2012-07-05T13:17:13+0000 Twitter Date= Thu Jul 05 22:15:04 GMT+05:30 2012

次のように 2 つの両方を変換するにはどうすればよいですか: 05-Jul-2012 11:54:30 解決策を教えてください..ありがとう

4

2 に答える 2

0

SimpleDateFormat APIは、ここで大いに役立つはずです。

日付形式ごとに1つずつ、合計2つ作成する必要があります。次に、parse()メソッドを使用してそれらをDateオブジェクトに変換できます。

最後に、必要に応じて、このformat()メソッドを使用して文字列に戻すことができます。

また、これはJava時間を使用しています。これはJODA時間よりも好ましくありませんが、目的に応じて機能する可能性があります。

于 2012-07-05T18:06:00.737 に答える
0

これらの関数は、facebook と twitter の日付を好みの形式に変換するために機能しています。

Facebookの日付を変換する関数:

String old_date="2012-07-05T13:17:13+0000";

private String Convert_Facebook_Date(String old_date) {

        SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss");
        SimpleDateFormat old = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
        sdf.setTimeZone(TimeZone.getDefault());

            Date date = null;
            try {

                date = old.parse(old_date); 

            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();    
            }

        return sdf.format(date);        
}

Twitterの日付を変換する関数:

String old_date="Thu Jul 05 22:15:04 GMT+05:30 2012";

private String Convert_Twitter_Date(String old_date) {

        SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss");
        SimpleDateFormat old = new SimpleDateFormat("EEE MMM dd HH:mm:ss ZZZZZ yyyy",Locale.ENGLISH);
        old.setLenient(true);

            Date date = null;
            try {

                date = old.parse(old_date);

            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        return sdf.format(date);    
}

両方の出力形式: 05-Jul-2012 11:54:30

于 2016-05-09T11:56:09.037 に答える