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

จัดรูปแบบวันที่ (Date Format) ด้วยไลบรารี Jackson ใน Java

Jackson เป็นไลบรารี Java-based ใช้แปลง Java Object เป็น JSON และ JSON กลับเป็น Java Object Jackson API เร็ว ใช้หน่วยความจำน้อย เหมาะ Object ใหญ่ สามารถ จัดรูปแบบวันที่ ได้โดยใช้เมธอด setDateFormat() ของคลาส ObjectMapper เมธอดนี้ใช้กำหนด DateFormat เริ่มต้นเมื่อ Serialize ค่าเวลาเป็น String และ Deserialize จาก JSON String

Syntax

public ObjectMapper setDateFormat(DateFormat dateFormat)

ตัวอย่าง: Format Date ด้วย Jackson

import java.io.*;
import java.text.*;
import java.util.*;
import com.fasterxml.jackson.databind.*;

public class JacksonDateformatTest {
    final static ObjectMapper mapper = new ObjectMapper();
    
    public static void main(String[] args) throws Exception {
        JacksonDateformatTest test = new JacksonDateformatTest();
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        mapper.setDateFormat(df);
        test.dateformat();
    }
    
    public void dateformat() throws Exception {
        String json = "{\"birthDate\":\"1980-12-08\"}";
        Reader reader = new StringReader(json);
        Employee emp = mapper.readValue(reader, Employee.class);
        System.out.println(emp);
    }
}

// Employee class
class Employee implements Serializable {
    private Date birthDate;
    
    public Date getBirthDate() { return birthDate; }
    public void setBirthDate(Date birthDate) { this.birthDate = birthDate; }
    
    @Override
    public String toString() {
        return "Employee [birthDate=" + birthDate + "]";
    }
}

ผลลัพธ์

Employee [birthDate=Mon Dec 08 00:00:00 IST 1980]

หมายเหตุ: ใช้ SimpleDateFormat กำหนด Pattern ตามต้องการ เช่น yyyy-MM-dd, dd/MM/yyyy, yyyy-MM-dd HH:mm:ss เป็นต้น