0Pricing
Swift Academy · บทเรียน

การจัดรูปแบบวันที่

แสดงวันที่ด้วย API จัดรูปแบบสมัยใหม่

การจัดรูปแบบวันที่ เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน

การจัดรูปแบบวันที่

ค่า Date ดิบไม่ใช่รูปแบบที่มนุษย์อ่านเข้าใจได้ API FormatStyle สมัยใหม่ของ Swift จะแปลงค่าเหล่านี้เป็นข้อความตามภาษาท้องถิ่นได้อย่างสะอาดและเป็นระบบ

เมธอด formatted()

การเรียก .formatted() กับวันที่จะให้ข้อความเริ่มต้นที่เหมาะสมตามภาษาท้องถิ่นของผู้ใช้

import Foundation

let now = Date()
let text = now.formatted()
print("Produced a string: \(!text.isEmpty)")

รูปแบบการจัดรูปแบบวันที่

ส่ง Date.FormatStyle เพื่อควบคุมว่าจะแสดงส่วนใดบ้าง โดยเลือกสไตล์วันที่และเวลาแยกจากกันได้

import Foundation

let now = Date()
let s = now.formatted(date: .abbreviated, time: .omitted)
print("Has date only: \(!s.isEmpty)")

สไตล์วันที่และเวลา

พารามิเตอร์ date: และ time: รับค่า .full, .long, .abbreviated, .numeric หรือ .omitted

import Foundation

let now = Date()
let full = now.formatted(date: .complete, time: .shortened)
print(!full.isEmpty)

การปรับแต่งด้วยองค์ประกอบ

สไตล์ .dateTime ช่วยให้คุณประกอบเฉพาะช่องข้อมูลที่ต้องการได้ เช่น .year().month().day()

import Foundation

let now = Date()
let s = now.formatted(.dateTime.year().month().day())
print("Custom fields: \(!s.isEmpty)")

การเลือกความกว้างของช่องข้อมูล

แต่ละองค์ประกอบรับตัวเลือกได้ เช่น .month(.wide) สำหรับชื่อเต็ม หรือ .month(.twoDigits) สำหรับรูปแบบตัวเลข

import Foundation

let now = Date()
let s = now.formatted(.dateTime.month(.wide).year())
print(!s.isEmpty)

เวลาเท่านั้น

ประกอบเฉพาะช่องข้อมูลเวลาได้เมื่อไม่จำเป็นต้องแสดงวันที่ เช่น .hour().minute()

import Foundation

let now = Date()
let t = now.formatted(.dateTime.hour().minute())
print("Time string: \(!t.isEmpty)")

การจัดรูปแบบแบบสัมพันธ์

RelativeFormatStyle สร้างวลีอย่าง “ในอีก 2 ชั่วโมง” หรือ “เมื่อวานนี้” โดยอ้างอิงจากเวลาปัจจุบัน

import Foundation

let soon = Date().addingTimeInterval(3600)
let rel = soon.formatted(.relative(presentation: .named))
print("Relative phrase produced: \(!rel.isEmpty)")

ISO 8601

สำหรับผลลัพธ์ที่เครื่องอ่านได้ ให้ใช้ .formatted(.iso8601) ซึ่งเป็นรูปแบบมาตรฐานสำหรับแลกเปลี่ยนข้อมูลระหว่าง API

import Foundation

let now = Date()
let iso = now.formatted(.iso8601)
print("Contains T separator: \(iso.contains("T"))")

การแปลงข้อความกลับเป็นวันที่

สไตล์การจัดรูปแบบสามารถย้อนกลับได้ คุณจึงแปลงข้อความเป็น Date โดยใช้กลยุทธ์ที่ตรงกัน

import Foundation

let input = "2024-05-30T12:00:00Z"
if let date = try? Date(input, strategy: .iso8601) {
    print("Parsed: \(date.timeIntervalSince1970 > 0)")
}

FormatStyle เทียบกับ DateFormatter

API ใหม่อย่าง FormatStyle มีความปลอดภัยด้านชนิดข้อมูลและเขียนได้เร็วกว่ า DateFormatter รุ่นเก่า จึงควรเลือกใช้ในโค้ดใหม่

import Foundation

let now = Date()
print(now.formatted(date: .long, time: .omitted).isEmpty == false)

ตรวจสอบความเข้าใจ

การเรียกใดจะแสดงวันที่โดยไม่แสดงเวลา

ทบทวน

API FormatStyle จัดรูปแบบวันที่ด้วย .formatted() รองรับสไตล์ date:/time: ที่กำหนดค่าได้ ช่องข้อมูล .dateTime ที่นำมาประกอบกันได้ วลีแบบสัมพันธ์ และ ISO 8601 นอกจากนี้ยังย้อนกลับเพื่อแปลงข้อความได้ และควรเลือกใช้แทน DateFormatter บทเรียนถัดไปจะแนะนำเขตเวลาและภาษาท้องถิ่น

คำถามที่พบบ่อย

บทเรียน “การจัดรูปแบบวันที่” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การจัดรูปแบบวันที่” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การจัดรูปแบบวันที่”

แสดงวันที่ด้วย API จัดรูปแบบสมัยใหม่ คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การจัดรูปแบบวันที่” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม

ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ชนิด Date และช่วงเวลา
  2. ปฏิทินและ DateComponents
  3. การจัดรูปแบบวันที่
  4. เขตเวลาและโลแคล
← กลับไปที่ Swift Academy