Kotlin:
การแปลงวันที่เป็นสตริง
วิธีการ:
ใน Kotlin คุณสามารถแปลง Date เป็น String โดยใช้คลาส SimpleDateFormat มาดูโค้ดกันเลย:
import java.text.SimpleDateFormat
import java.util.Date
fun main() {
val date = Date() // สร้างอ็อบเจกต์ Date สำหรับเวลาปัจจุบัน
val format = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") // กำหนดรูปแบบวันที่
val dateString = format.format(date) // แปลง Date เป็น String
println(dateString) // แสดงสตริงวันที่
}ผลลัพธ์ตัวอย่างอาจดูเช่นนี้:
2023-03-25 14:45:32ลงลึกลับ
ก่อนที่ java.time จะเข้าสู่เวที SimpleDateFormat เคยเป็นตัวเลือกหลักสำหรับการแปลงวันที่เป็นสตริงใน Java และด้วยเหตุผลนี้ก็สืบทอดมายัง Kotlin ด้วย Kotlin ทำงานบน Java Virtual Machine และสามารถทำงานร่วมกับไลบรารีของ Java ได้โดยไม่มีปัญหา
อย่างไรก็ตาม ด้วย Java 8 java.time เข้ามามีบทบาทพร้อมกับ DateTimeFormatter ที่มาพร้อมกับ API ที่ดีขึ้นอย่างมาก นี่เป็นการเปลี่ยนเกมสำคัญ ที่นำเสนอการจัดการวันที่และเวลาที่ปลอดภัย ไม่เปลี่ยนแปลง และสามารถใช้งานร่วมกันได้ การรองรับของ Kotlin สำหรับสิ่งนี้เป็นลักษณะเนียนตา:
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
fun main() {
val currentDate = LocalDateTime.now() // รับวันที่และเวลาปัจจุบัน
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
val formattedDate = currentDate.format(formatter)
println(formattedDate)
}ตัวเลือกอื่น? แน่นอน สำหรับความต้องการที่ไม่ตามมาตรฐานหรือการจัดการกับไลบรารีวันที่หลายตัว เคยมี Joda-Time เป็นมาตรฐานทอง แต่ในวันนี้ java.time สามารถดูแลส่วนใหญ่ได้
ตามรายละเอียดการเป็นรายการทำงาน SimpleDateFormat ไม่ได้เป็น thread-safe ซึ่งหมายความว่าอาจมีปัญหาเมื่อใช้งานร่วมกันในสภาพแวดล้อมพร้อมกัน DateTimeFormatter ไม่มีปัญหานี้ สร้างครั้งแรก ใช้ตลอดไป—หรืออย่างน้อยก็ในระยะเวลาการใช้งานของแอปพลิเคชั่นของคุณโดยไม่ต้องกังวลมาก
ดูเพิ่มเติม
DateTimeFormatterJavaDoc สำหรับความต้องการรูปแบบของคุณทั้งหมด: DateTimeFormatter- ถ้าคุณรู้สึกคิดถึงหรือต้องการตัวอย่างสำหรับระบบเดิม นี่คือข้อมูลเกี่ยวกับ
SimpleDateFormat: SimpleDateFormat