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

วิธีพิมพ์วันที่ด้วย GregorianCalendar ใน Java


คลาส GregorianCalendar รองรับปฏิทินมาตรฐาน (Julian และ Gregorian) สามารถสร้างอ็อบเจกต์ได้หลายวิธีผ่าน Constructor ต่างๆ

ตัวอย่าง 1: สร้างด้วยปี เดือน วัน

import java.util.Calendar;
import java.util.GregorianCalendar;

public class Test {
    public static void main(String args[]) {
        // สร้าง GregorianCalendar ด้วย ปี, เดือน(0-11), วัน
        GregorianCalendar cal = new GregorianCalendar(2018, 6, 27);
        
        System.out.println(cal);  // toString() แสดงรายละเอียดทั้งหมด
        System.out.println("Date: " + cal.get(Calendar.DATE));
        System.out.println("Month: " + cal.get(Calendar.MONTH));  // 0-11
        System.out.println("Year: " + cal.get(Calendar.YEAR));
    }
}

ผลลัพธ์

java.util.GregorianCalendar[time=?,areFieldsSet=false,...,YEAR=2018,MONTH=6,DAY_OF_MONTH=27,...]
Date: 27
Month: 6
Year: 2018

หมายเหตุ: เดือนใน Calendar เริ่มจาก 0 (มกราคม = 0) ดังนั้น 6 = กรกฎาคม

ตัวอย่าง 2: สร้างด้วย Locale

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Locale;

public class Test {
    public static void main(String args[]) {
        Locale locale = new Locale("en", "IN");
        GregorianCalendar cal = new GregorianCalendar(locale);
        
        System.out.println("Date: " + cal.get(Calendar.DATE));
        System.out.println("Month: " + cal.get(Calendar.MONTH));
        System.out.println("Year: " + cal.get(Calendar.YEAR));
    }
}

ผลลัพธ์

Date: 7
Month: 10
Year: 2020

ตัวอย่าง 3: สร้างด้วย TimeZone

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.TimeZone;

public class Test {
    public static void main(String args[]) {
        TimeZone timeZone = TimeZone.getTimeZone("GMT+5:30");
        GregorianCalendar cal = new GregorianCalendar(timeZone);
        
        System.out.println("Date: " + cal.get(Calendar.DATE));
        System.out.println("Month: " + cal.get(Calendar.MONTH));
        System.out.println("Year: " + cal.get(Calendar.YEAR));
    }
}

ผลลัพธ์

Date: 7
Month: 10
Year: 2020

ตัวอย่าง 4: ใช้ getInstance()

import java.util.Calendar;
import java.util.GregorianCalendar;

public class Test {
    public static void main(String args[]) {
        GregorianCalendar cal = (GregorianCalendar) GregorianCalendar.getInstance();
        
        System.out.println("Date: " + cal.get(Calendar.DATE));
        System.out.println("Month: " + cal.get(Calendar.MONTH));
        System.out.println("Year: " + cal.get(Calendar.YEAR));
    }
}

ผลลัพธ์

Date: 7
Month: 10
Year: 2020

สรุป Constructor หลักของ GregorianCalendar

Constructorคำอธิบาย
GregorianCalendar()วันที่/เวลาปัจจุบัน, Time Zone และ Locale เริ่มต้น
GregorianCalendar(int year, int month, int dayOfMonth)กำหนดวันที่เฉพาะ (month 0-11)
GregorianCalendar(int year, int month, int dayOfMonth, int hour, int minute)กำหนดวันที่และเวลา
GregorianCalendar(int year, int month, int dayOfMonth, int hour, int minute, int second)กำหนดวันที่และเวลารวมวินาที
GregorianCalendar(Locale locale)วันที่ปัจจุบันกับ Locale ที่ระบุ
GregorianCalendar(TimeZone zone)วันที่ปัจจุบันกับ Time Zone ที่ระบุ
GregorianCalendar(TimeZone zone, Locale locale)กำหนด Time Zone และ Locale ทั้งคู่

⚠️ คำเตือน

GregorianCalendar เป็น Legacy Class (Java 1.1) แนะนำให้ใช้ java.time.LocalDate, LocalDateTime, ZonedDateTime (Java 8+) แทน ซึ่งใช้งานง่ายกว่า และ thread-safe