ฉันจะสร้างการประทับเวลาตามเวลาจริงด้วยความแม่นยำเป็นมิลลิวินาทีได้อย่างไร
ฉันสงสัยว่าคุณหมายถึงมิลลิวินาทีความถูกต้อง 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);
(โปรดทราบว่าไม่เหมือนกับตัวอย่างของคุณซึ่งสามารถจัดเรียงได้และมีโอกาสน้อยที่จะเกิดความสับสนว่า "เดือน / วัน / ปี" หรือ "วัน / เดือน / ปี")