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
ไม่มีปัญหานี้ สร้างครั้งแรก ใช้ตลอดไป—หรืออย่างน้อยก็ในระยะเวลาการใช้งานของแอปพลิเคชั่นของคุณโดยไม่ต้องกังวลมาก
ดูเพิ่มเติม
DateTimeFormatter
JavaDoc สำหรับความต้องการรูปแบบของคุณทั้งหมด: DateTimeFormatter- ถ้าคุณรู้สึกคิดถึงหรือต้องการตัวอย่างสำหรับระบบเดิม นี่คือข้อมูลเกี่ยวกับ
SimpleDateFormat
: SimpleDateFormat