Kotlin:
การแยกวันที่ออกจากสตริง
วิธีทำ:
Kotlin รองรับการแยกวิเคราะห์วันที่ผ่าน java.time
แพ็คเกจ ซึ่งเปิดตัวใน Java 8 นี่คือวิธีการง่ายๆ โดยใช้ LocalDateTime
และรูปแบบเฉพาะ:
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
fun parseDateFromString(dateString: String): LocalDateTime {
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
return LocalDateTime.parse(dateString, formatter)
}
fun main() {
val dateString = "2023-04-01 12:00:00"
val date = parseDateFromString(dateString)
println(date) // ผลลัพธ์: 2023-04-01T12:00
}
เพื่อความยืดหยุ่นมากขึ้น หรือเพื่อจัดการกับวันที่จากแหล่งข้อมูลภายนอกเช่น API คุณอาจใช้ไลบรารีภายนอก เช่น Joda-Time (แม้ว่าจะน้อยกว่าเดิมตอนนี้ด้วย java.time
ที่แข็งแกร่ง) อย่างไรก็ตาม การยึดมั่นในวิธีการทันสมัยที่ JDK ให้มาคือสิ่งที่นิยมสำหรับแอปพลิเคชั่น Kotlin ส่วนใหญ่
เพื่อแยกวิเคราะห์วันที่ใน Kotlin โดยไม่ใช้ไลบรารีภายนอก คุณยังสามารถใช้ SimpleDateFormat
คลาสสำหรับเวอร์ชันก่อน Java 8 หรือระดับ API ของ Android ที่ไม่รองรับ java.time
:
import java.text.SimpleDateFormat
fun parseDateUsingSimpleDateFormat(dateString: String): java.util.Date {
val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
return formatter.parse(dateString)
}
fun main() {
val dateString = "2023-04-01 12:00:00"
val date = parseDateUsingSimpleDateFormat(dateString)
println(date) // ผลลัพธ์อาจแตกต่างกันไปตามเขตเวลาของคุณ เช่น Sat Apr 01 12:00:00 GMT 2023
}
จำไว้เสมอว่าต้องตั้งค่าโซนเวลาถ้าคุณทำงานกับ SimpleDateFormat
เพื่อหลีกเลี่ยงการเปลี่ยนแปลงเวลาที่ไม่คาดคิดในวันที่ที่แยกวิเคราะห์