Tôi đang tìm cách định dạng thời gian bao gồm micro giây. Tôi đang sử dụng lớp DateTime, nó cho phép (sử dụng các thuộc tính) để lấy dữ liệu cho đến mili giây, điều này không gây khó chịu. Tôi đã thử sử dụng Ticks, nhưng tôi không biết cách dịch nó thành micro giây.C# thời gian tính bằng micro giây
Trả lời
Bạn có thể sử dụng "ffffff"
trong một chuỗi định dạng để đại diện cho micro:
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss.ffffff"));
Để chuyển đổi một số tick vào micro, chỉ cần sử dụng:
long microseconds = ticks/(TimeSpan.TicksPerMillisecond/1000);
Nếu những không giúp bạn, vui lòng cung cấp thêm thông tin về chính xác những gì bạn đang cố gắng làm.
EDIT: Tôi ban nhân ticks
1000 để tránh mất độ chính xác khi chia TimeSpan.TicksPerMillisecond
bởi 1000. Tuy nhiên, Nó chỉ ra rằng các TicksPerMillisecond
thực sự là một giá trị không đổi là 10.000 - vì vậy bạn có thể chia cho 1000 với không có vấn đề, và trong thực tế chúng tôi chỉ có thể sử dụng:
const long TicksPerMicrosecond = 10;
...
long microseconds = ticks/TicksPerMicrosecond;
Tôi đã sử dụng cả hai opyions vấn đề là tôi nhận được micro giây luôn bằng không. Có vẻ như nó không thể giải quyết được điều đó. –
Sau đó, đó không phải là một vấn đề định dạng, đó là một vấn đề giải quyết. Bạn lấy dữ liệu từ đâu để bắt đầu? Nếu bạn đang cố gắng để thời gian một cái gì đó mất, bạn nên sử dụng lớp 'Stopwatch'. –
Không. Tôi chỉ cần nó cho logger. Đối với mọi sự kiện trong hệ thống tôi nhập vào lúc bắt đầu xảy ra. Bất kỳ sự thay đổi nào? –
"ffffff" là những gì bạn cần.
return DateTime.Now.ToString("HH:mm:ss.ffffff");
Tôi sử dụng nó vấn đề là nó luôn luôn in bằng không ở micro giây, giống như nó không tính toán nó. –
Đây không phải là vấn đề với định dạng, đây là vấn đề với độ chính xác của DateTime.Now. Hãy thử sử dụng System.Diagnostics.Stopwatch. –
Tôi đã thử nó một cửa sổ khác (của tôi là vista) và độ phân giải f miceconds –
Tôi không thể tải Johns để chuyển đổi micorosecond hoạt động. Dưới đây là cách tôi có thể đo độ phân giải Micro giây và Nanosecond bằng cách sử dụng bọ ve và Đồng hồ bấm giờ:
Stopwatch sw = new Stopwatch();
sw.Start();
// Do something you want to time
sw.Stop();
long microseconds = sw.ElapsedTicks/(Stopwatch.Frequency/(1000L*1000L));
long nanoseconds = sw.ElapsedTicks/(Stopwatch.Frequency/(1000L*1000L*1000L));
Console.WriteLine("Operation completed in: " + microseconds + " (us)");
Console.WriteLine("Operation completed in: " + nanoseconds + " (ns)");
sw.Elapsed.TotalMilliseconds là tốt đẹp. Sau đó chia cho 1000 để nhận được micro giây. – rocketsarefast
Điều này không hoàn toàn đúng, vì (Stopwatch.Frequency/(1000L * 1000L)) là một giá trị dài để lại mọi thứ sau một số thập phân, ví dụ, nếu kết quả của phương trình trong dòng trên (bình luận của tôi) là 2.8576. 3 nhưng sw.ElapsedTicks sẽ được chia cho 2 không 2,8 hoặc 3, đó là hoàn toàn sai. – user2913184
- 1. Tính thời gian chức năng tính bằng nano giây trong mã C
- 2. Nhận thời gian POSIX/Unix tính bằng giây và nano giây bằng Python?
- 3. Thời gian hệ thống chrono C++ tính bằng mili giây, hoạt động thời gian
- 4. Tính toán chênh lệch thời gian tính bằng mili giây
- 5. Nhận thời gian hiện tại, tính bằng mili giây, tính bằng C?
- 6. Chuyển đổi dấu thời gian micro giây thành datetime bằng Python
- 7. thời gian trăn (milli giây) tính
- 8. nhận thời gian hiện tại tính bằng giây
- 9. Thời gian đo trong Không gian hạt nhân Linux Với Độ chính xác phụ Micro giây
- 10. lệnh thời gian linux micro giây hoặc độ chính xác tốt hơn
- 11. C# sub mili giây thời gian
- 12. Python timedelta loại bỏ micro giây
- 13. chuyển đổi micro giây thành thời gian có thể đọc được của con người
- 14. Tính toán thời gian bằng mã C++
- 15. NSTimer Giảm thời gian bằng giây/mili giây
- 16. Làm cách nào để có thời gian trôi qua trong C tính bằng mili giây? (Windows)
- 17. Cách nhận thời gian hiện tại tính bằng mili giây từ C trong Linux?
- 18. C có được thời gian hệ thống đến độ chính xác micro giây trên các cửa sổ không?
- 19. Cách tính thời gian trôi qua tính bằng giây trong VBA?
- 20. Phân tích các chuỗi ngày tháng bằng micro giây
- 21. Tìm thời gian bằng mili giây bằng Powershell?
- 22. Chương trình chuyển đổi thời gian tính bằng giây thành hh: mm: ss format
- 23. Âm thanh mẫu Arduino có thể tính bằng micro giây trong 1-4 kHz không?
- 24. Lưu trữ micro giây trong MySQL: cách giải quyết nào?
- 25. Nhận thời gian hiện tại (tính bằng mili giây) từ đồng hồ hệ thống trong Windows?
- 26. Cách nhận chênh lệch thời gian bằng mili giây
- 27. Lấy Dấu thời gian của Unix trong Ngôn ngữ Go (thời gian hiện tại tính bằng giây),
- 28. MySQL 5.6 DATETIME không chấp nhận mili giây/micro giây
- 29. Nhận thời gian bằng mili giây bằng cách sử dụng C#
- 30. CURRENT_TIMESTAMP tính bằng mili giây
Hãy cẩn thận với DateTime.Now, không chính xác đến micro giây. Hãy thử System.Diagnostics.Stopwatch để lấy thời gian. Ngoài ra, hãy đảm bảo bạn có đồng hồ hệ thống có độ phân giải cao. –
Có, bạn đã đúng. Tôi đã mất thời gian để hiểu nhận xét này. Mặc dù nó thể hiện thời gian trong các vi mô, thời gian không phải là tính bằng micro giây. –