วิธีที่ถูกต้องในการตรวจสอบว่า Instant อยู่ในวันที่ที่ระบุคืออะไร

ฉันมีเหตุการณ์ เรียกว่า A ซึ่งเกิดขึ้นทันที (การประทับเวลา เวลาข้อมูล) โดยจัดเก็บเป็นวินาที + มิลลิวินาทีนับตั้งแต่ยุค (1 ม.ค. 1970) ฉันต้องการค้นหาเหตุการณ์อื่นๆ ที่เกิดขึ้นในวันที่เดียวกันกับเหตุการณ์ A วิธีใดคือวิธีที่ดีที่สุดในการแสดงวันที่เป้าหมาย จากนั้นตรวจสอบเหตุการณ์ขาเข้าแต่ละรายการอย่างมีประสิทธิภาพเพื่อหาวันที่เป้าหมาย


person scott m gardner    schedule 12.08.2014    source แหล่งที่มา
comment
แปลงเป็น jodatime หรือ Java 8 localdate หรือไม่   -  person tim_yates    schedule 12.08.2014


คำตอบ (1)


ฉันมีเหตุการณ์ เรียกว่า A ซึ่งเกิดขึ้นทันที (การประทับเวลา เวลาข้อมูล) โดยจัดเก็บเป็นวินาที + มิลลิวินาทีนับตั้งแต่ยุค (1 ม.ค. 1970)

คุณไม่ได้ระบุให้ชัดเจนว่าประเภทใดที่ใช้เพื่อแสดง Instant ดังนั้นฉันจะถือว่ามันเป็น Long ที่แสดงถึงจำนวนมิลลิวินาทีตั้งแต่วันที่ 1 มกราคม 1970

Long event = getEventInstant()
Date targetDate = getTargetDate().clearTime()

if (new Date(event).clearTime() == targetDate) {
    println "they're on the same day"
}
person Dónal    schedule 12.08.2014