Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

การใช้ printf() จัดรูปแบบวันที่ใน Java


เมธอด printf() จัดรูปแบบสตริงเพื่อพิมพ์ออกมา รองรับ format characters สำหรับวันที่หลากหลาย

Format Characters สำหรับวันที่ (Date)

ตัวอักษรคำอธิบายตัวอย่าง
%tBชื่อเดือนเต็มJanuary
%tb / %thชื่อเดือนย่อJan
%tAชื่อวันเต็มMonday
%taชื่อวันย่อMon
%tCศตวรรษ (ปี/100)20
%tYปี 4 หลัก2024
%tyปี 2 หลัก24
%tjวันของปี (001-366)015
%tmเดือน (01-12)01
%tdวันของเดือน (01-31)15
%teวันของเดือน (1-31, เว้นวรรคหน้าตัวเลข 1 หลัก) 5
%tDวันที่แบบ US (MM/DD/YY)01/15/24

ตัวอย่างการจัดรูปแบบวันที่พื้นฐาน

import java.util.Date;

public class Example {
    public static void main(String args[]) {
        Date obj = new Date();
        
        System.out.printf("%tD%n", obj);           // วันที่แบบ US
        System.out.printf("วัน: %td%n", obj);       // วัน
        System.out.printf("เดือน: %tm%n", obj);     // เดือน
        System.out.printf("ปี: %ty%n", obj);        // ปี 2 หลัก
    }
}

ผลลัพธ์

11/10/20
วัน: 10
เดือน: 11
ปี: 20

ตัวอย่าง: จัดรูปแบบปี และ วันของปี

import java.util.Date;

public class Example {
    public static void main(String args[]) {
        Date obj = new Date();
        
        System.out.printf("%tD%n", obj);
        System.out.printf("ปี: %tY%n", obj);        // ปี 4 หลัก
        System.out.printf("วันของปี: %tj%n", obj);  // วันของปี
    }
}

ผลลัพธ์

11/10/20
ปี: 2020
วันของปี: 315

ตัวอย่าง: แสดงชื่อเดือนและชื่อวัน

import java.util.Date;

public class Example {
    public static void main(String args[]) {
        Date obj = new Date();
        
        System.out.printf("วันที่: %tD%n", obj);
        System.out.printf("เดือน (เต็ม): %tB%n", obj);
        System.out.printf("เดือน (ย่อ): %tb%n", obj);
        System.out.printf("วัน (เต็ม): %tA%n", obj);
        System.out.printf("วัน (ย่อ): %ta%n", obj);
    }
}

ผลลัพธ์

วันที่: 11/10/20
เดือน (เต็ม): November
เดือน (ย่อ): Nov
วัน (เต็ม): Tuesday
วัน (ย่อ): Tue

รูปแบบวันที่ไทยที่นิยมใช้

import java.util.Date;
import java.util.Locale;

public class ThaiDateExample {
    public static void main(String args[]) {
        Date obj = new Date();
        
        // ใช้ Locale.US เพื่อให้ชื่อเดือน/วันเป็นภาษาอังกฤษ (มาตรฐาน)
        System.out.printf(Locale.US, "วันที่: %td %tB %tY%n", obj, obj, obj);
        // ผลลัพธ์: วันที่: 10 November 2020
        
        // รูปแบบ ISO
        System.out.printf("%tF%n", obj);  // %tF = %tY-%tm-%td
        // ผลลัพธ์: 2020-11-10
    }
}