Tôi đang làm việc với .NET nhưng tôi cần giao tiếp với dịch vụ ghi nhật ký, dựa trên Unix, dự kiến giây và micro giây kể từ thời gian của thời đại Unix. Số giây có thể dễ dàng khôi phục được bằng cách thực hiện như sau:Có tương đương với "gettimeofday" trong .NET
DateTime UnixEpoch = new DateTime(1970, 1, 1);
TimeSpan time = DateTime.UtcNow() - UnixEpoch
int seconds = (int) time.TotalSeconds
tuy nhiên, tôi không chắc chắn cách tính micro giây. Tôi có thể sử dụng thuộc tính TotalMilliseconds và chuyển đổi nó thành micro giây nhưng tôi tin rằng đánh bại mục đích sử dụng micro giây như một phép đo chính xác. Tôi đã xem xét sử dụng các lớp StopWatch nhưng nó không có vẻ như tôi có thể hạt giống nó với một thời gian (ví dụ Unix Epoch).
Cảm ơn.
Đây sẽ là câu trả lời của tôi, nhưng tôi không biết độ phân giải của một Tick. Làm cái này. Ngoại trừ, kể từ 100ns = .1us, bạn không nên chia ve cho 10 để nhận được micro giây? – KeithS
Đây là câu trả lời hay nhất, vì nó cung cấp độ chính xác cao nhất từ 'UtcNow()', nhưng tôi nghĩ thuộc tính 'Ticks' thực sự không chính xác lắm. –
@Keith: Rất tiếc, có, sửa lỗi :) –