Một số hệ thống tệp (ví dụ: ext4 và JFS) cung cấp độ phân giải nano giây của các trường atime/mtime. Làm thế nào tôi có thể đọc các trường có độ phân giải ns? Số stat
syscall trả về time_t
là độ phân giải thứ hai.Nhận các trường thời gian, mtime, ctime chính xác nano giây (stat?)
Trả lời
Giờ thứ hai có độ phân giải là trong các lĩnh vực:
time_t st_atime; /* time of last access */
time_t st_mtime; /* time of last modification */
time_t st_ctime; /* time of last status change */
Nhưng "GHI CHÚ" của người đàn ông http://www.kernel.org/doc/man-pages/online/pages/man2/stat.2.html nói:
Kể từ kernel 2.5.48, cấu trúc stat hỗ trợ độ phân giải nano giây cho ba trường dấu thời gian tệp. Glibc cho thấy thành phần nano giây của mỗi trường sử dụng tên của biểu mẫu st_atim.tv_nsec nếu macro thử nghiệm tính năng _BSD_SOURCE hoặc _SVID_SOURCE được xác định. Các trường này được chỉ định trong POSIX.1-2008 và bắt đầu với phiên bản 2.12, glibc cũng hiển thị các trường này tên nếu _POSIX_C_SOURCE được xác định với giá trị 200809L hoặc cao hơn hoặc _XOPEN_SOURCE được xác định với giá trị 700 trở lên. Nếu không có số nào trong số các macro được đề cập ở trên được xác định thì giá trị nano giây được hiển thị với tên của biểu mẫu st_atimensec.
Vì vậy, các bộ phận nsec của thời gian được tính trong cùng một "struct stat": (/usr/include/asm/stat.h)
unsigned long st_atime_nsec;
unsigned int st_mtime_nsec;
unsigned long st_ctime_nsec;
#define STAT_HAVE_NSEC 1
- 1. Luôn ctime <= mtime?
- 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 Windows với mili giây chính xác
- 4. Làm thế nào tôi có thể nhận được mtime cao res cho một liên kết tượng trưng trong Perl?
- 5. Thời gian đo trong Không gian hạt nhân Linux Với Độ chính xác phụ Micro giây
- 6. Cách nhận thời gian bằng mili giây trong Android Shell?
- 7. Windows và ctime/st_ctime
- 8. java.sql.Timestamp cách lưu trữ nano giây
- 9. Python - Chuyển đổi thời gian epoch với nano giây thành con người có thể đọc được?
- 10. Tại sao System.nanoTime() lấy 4400 nano giây
- 11. Làm thế nào để acess ctime, mtime, ... của một liên kết tượng trưng?
- 12. Tính thời gian chức năng tính bằng nano giây trong mã C
- 13. Thời gian chính xác với RequestAnimationFrame
- 14. Nhận chênh lệch thời gian chính xác giữa hai NSDate?
- 15. Nhận các dấu chính xác từ bộ đếm thời gian trong C#
- 16. Thời gian chính xác của các hàm trong python
- 17. Độ chính xác hẹn giờ OpenVMS, tốt hơn độ chính xác mili giây.
- 18. C# sub mili giây thời gian
- 19. Xác định khoảng thời gian mili giây trong ca cao
- 20. Hết thời gian chờ HTTP 504 sau 120 giây chính xác
- 21. Làm cách nào để chuyển đổi các đồng hồ bấm giờ thành giây nano, mili giây và giây?
- 22. Thời gian chính xác trong .NET
- 23. Phân tích chuỗi ngày tháng có chứa nano giây
- 24. Cách nhận chênh lệch thời gian bằng mili giây
- 25. Định dạng dấu thời gian Unix với ctime trong c
- 26. Cách in thời gian tới 6 chữ số chính xác cho giá trị giây
- 27. Thời gian mờ Javascript (ví dụ: '10 phút trước ') đó là trong giây chính xác
- 28. Mili giây cho dấu thời gian UNIX
- 29. lệnh thời gian linux micro giây hoặc độ chính xác tốt hơn
- 30. Các hình thức Django: Thời gian xác nhận hợp lệ
Vì vậy, nếu tôi muốn chương trình của tôi để được cầm tay, cái nào tôi nên sử dụng: 'st_atim.tv_nsec' hoặc' st_atimensec'? – musiphil
Cách làm cho nó tương thích với các triển khai cụ thể của NetBSD và OSX * (hỗ trợ nano giây nhưng với các loại tên quảng cáo khác nhau) *? – user2284570