JAvaでの日付フォーマット


私たちはdateで直接日付を出力すると、フォーマットが非常に見苦しいことを知っています.どのようにして自分の望むフォーマットで日付を出力しますか?
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