ฉันจะสร้างการประทับเวลาตามเวลาจริงด้วยความแม่นยำเป็นมิลลิวินาทีได้อย่างไร
ฉันสงสัยว่าคุณหมายถึงมิลลิวินาทีความถูกต้อง DateTime
มีความแม่นยำสูง แต่ค่อนข้างหยาบในแง่ของความแม่นยำ โดยทั่วไปคุณไม่สามารถทำได้ โดยปกตินาฬิการะบบ (ซึ่งเป็นที่DateTime.Now
รับข้อมูลจาก) มีความละเอียดประมาณ 10-15 ms ดูโพสต์บล็อกของ Eric Lippert เกี่ยวกับความแม่นยำและความแม่นยำสำหรับรายละเอียดเพิ่มเติม
หากคุณต้องการเวลาที่แม่นยำกว่านี้คุณอาจต้องการใช้ไคลเอ็นต์ NTP
อย่างไรก็ตามมันไม่ชัดเจนว่าคุณต้องการความแม่นยำเป็นมิลลิวินาทีที่นี่ หากคุณไม่สนใจเวลาที่แน่นอน - คุณเพียงแค่ต้องการแสดงตัวอย่างในลำดับที่ถูกต้องด้วยความแม่นยำ "ค่อนข้างดี" นาฬิการะบบควรจะดี ฉันขอแนะนำให้คุณใช้DateTime.UtcNow
แทนDateTime.Now
เพื่อหลีกเลี่ยงปัญหาเกี่ยวกับโซนเวลาในช่วงการเปลี่ยนภาพตามฤดูกาล ฯลฯ
หากคำถามของคุณจริงเพียงรอบแปลงDateTime
เป็นสตริงที่มีความแม่นยำมิลลิวินาทีผมขอแนะนำให้ใช้:
string timestamp = DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.fff",
CultureInfo.InvariantCulture);
(โปรดทราบว่าไม่เหมือนกับตัวอย่างของคุณซึ่งสามารถจัดเรียงได้และมีโอกาสน้อยที่จะเกิดความสับสนว่า "เดือน / วัน / ปี" หรือ "วัน / เดือน / ปี")