JAvaでの日付フォーマット
2215 ワード
私たちはdateで直接日付を出力すると、フォーマットが非常に見苦しいことを知っています.どのようにして自分の望むフォーマットで日付を出力しますか?
1.日付変換文字列まず、javaの年月日などの時間にyが年Mを表して月dが日Hが24進数を表している時間hが12進数を表している時間mが分sを表して秒Sがミリ秒を表しているかどうかを知る必要があります.
コードは次のとおりです.
SimpleDateFormatオブジェクトを作成し、自分の希望するフォーマットで初期化し、日付クラスを作成し、日付クラスを所定のフォーマットで文字列に変換し、最後に印刷します.
結果:
現在時刻yyyy-MM-dd HH:mm:ss SSSフォーマット後の出力:2019-05-19 16:44:45 812現在時刻yyyy-MM-ddフォーマット後の出力:2019-05-19
日付が文字列に変換されていることがわかりましたが、文字列は日付に変換できますか?
2.文字列回転日付文字列日付クラスに変換するには、まず文字列のパターン(yyyy/MM/dd HH:mm:ss)が文字列フォーマットと一致する必要があることを確認し、異なる場合は解析異常ParseExceptionを投げ出す
具体的なコード:
まずフォーマットを作成し、文字列を所定のフォーマットのモードに初期化し、変換を試みます.初期化日クラスはフォーマットを指定してから日付を文字列に変換する必要があります(ここではtostringとString.valueOfの効果に相当します).
結果:
文字列2019/5/19 13:10:12フォーマットyyyy/MM/dd HH:mm:ssによる日付オブジェクトへの変換:Sun May 19 13:10:12 GMT+08:00 2019文字列2019/5/19 13:12フォーマットyyy/MM/dd HH:mm:ssによる日付オブジェクトへの変換:Sun May 19 13:10:12 GMT+08:00 2019
1.日付変換文字列まず、javaの年月日などの時間にyが年Mを表して月dが日Hが24進数を表している時間hが12進数を表している時間mが分sを表して秒Sがミリ秒を表しているかどうかを知る必要があります.
コードは次のとおりです.
package date2;
import java.util.Date;
import java.text.SimpleDateFormat;
public class TestDate {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS"); //
Date d = new Date();
String str = sdf.format(d); //
System.out.println(" yyyy-MM-dd HH:mm:ss SSS : "+str);
//
SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd" );
Date d2 = new Date();
String str2 = sdf1.format(d2);
System.out.println(" yyyy-MM-dd : "+str2);
}
}
SimpleDateFormatオブジェクトを作成し、自分の希望するフォーマットで初期化し、日付クラスを作成し、日付クラスを所定のフォーマットで文字列に変換し、最後に印刷します.
結果:
現在時刻yyyy-MM-dd HH:mm:ss SSSフォーマット後の出力:2019-05-19 16:44:45 812現在時刻yyyy-MM-ddフォーマット後の出力:2019-05-19
日付が文字列に変換されていることがわかりましたが、文字列は日付に変換できますか?
2.文字列回転日付文字列日付クラスに変換するには、まず文字列のパターン(yyyy/MM/dd HH:mm:ss)が文字列フォーマットと一致する必要があることを確認し、異なる場合は解析異常ParseExceptionを投げ出す
具体的なコード:
package date2;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate2 {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String str = "2019/5/19 13:10:12";
try { //String
Date d = sdf.parse(str);
System.out.printf(" %s yyyy/MM/dd HH:mm:ss %n : %s",str,d.toString());
System.out.println();
System.out.printf(" %s yyyy/MM/dd HH:mm:ss %n : %s",str,String.valueOf(d)); // valueof tostring
System.out.println();
}catch(java.text.ParseException e) {
e.printStackTrace();
}
}
}
まずフォーマットを作成し、文字列を所定のフォーマットのモードに初期化し、変換を試みます.初期化日クラスはフォーマットを指定してから日付を文字列に変換する必要があります(ここではtostringとString.valueOfの効果に相当します).
結果:
文字列2019/5/19 13:10:12フォーマットyyyy/MM/dd HH:mm:ssによる日付オブジェクトへの変換:Sun May 19 13:10:12 GMT+08:00 2019文字列2019/5/19 13:12フォーマットyyy/MM/dd HH:mm:ssによる日付オブジェクトへの変換:Sun May 19 13:10:12 GMT+08:00 2019