2012-10-15 20 views
7

Dự án tôi làm việc về cơ bản là một bộ thu thập dữ liệu. Bằng cách định hướng, nó có thể giúp nghĩ về nó như Wireshark (hoặc tương đương) với khả năng phân tích/phân tích của lớp Ứng dụng (OSI Lớp 7). Phiên bản hiện tại là một ứng dụng MFC cũ với hơn 15 năm theo vành đai của nó. Nó vẫn hoạt động, nhưng bảo trì, ổn định và khả năng mở rộng là những mối quan tâm thực sự mà chúng ta đang phải đối mặt. Nhóm lãnh đạo dự án gần đây đã đồng ý rằng chúng ta cần bắt đầu phát triển thế hệ tiếp theo của sản phẩm, và chúng tôi đang nhắm mục tiêu .NET vì sản phẩm này là một sản phẩm dựa trên nền tảng Windows.Có thể áp dụng thời gian trong trường hợp này không?

Do người dùng của chúng tôi thường xuyên phân tích tệp nhật ký được thu thập theo nghĩa đen trên toàn thế giới, việc đặt dấu thời gian thư là rất quan trọng. Sản phẩm hiện tại sử dụng _ftime_s() để gán dấu thời gian và tôi đã giả định rằng chúng tôi sẽ chỉ sử dụng System.DateTime.UtcNow để nhận dấu thời gian trong tương lai ở phía .NET. Đó là, cho đến khi tôi đọc về noda-time. Bây giờ, tôi nghĩ rằng lĩnh vực vấn đề của chúng tôi đòi hỏi phải quan tâm nhiều hơn đến chức năng liên quan đến thời gian hơn tôi từng quan tâm.

Vì vậy, một số câu hỏi.

  1. Từ mô tả tôi đã cung cấp ở trên, nó có ý nghĩa để kết hợp noda-time sử dụng NodaTime.Instant cho timestamping?

  2. Được lựa chọn, tôi muốn trả tiền để được hỗ trợ riêng hơn sử dụng dự án nguồn mở vì sợ hãi (hoang tưởng?) Mà dự án bị bỏ rơi. Bất kỳ suy nghĩ hoặc hướng dẫn nào về điểm này từ những người có xu hướng nắm lấy triết lý nguồn mở hơn?

  3. noda-time hiện đang ở phiên bản beta thứ hai. Có ngày đích cho NodaTime 1.0.0 không?

+0

Nếu tất cả các bạn quan tâm là những khoảnh, bạn cũng có thể xem xét sử dụng DateTimeOffset. NodaTime có nhiều hơn thế. Bạn không nhất thiết phải sử dụng chỉ một hoặc khác. Chúng tôi sử dụng DateTimeOffset cho hầu hết mọi thứ, nhưng sử dụng NodaTime khi chuyển đổi thời gian sử dụng múi giờ Olson. Chúng hoạt động tốt. –

Trả lời

5
  1. Như Matt nói, bạn có thể dễ dàng chỉ cần sử dụng để đại diện cho DateTimeOffset ngay lập tức trong thời gian. Tôi cho rằng điều này không rõ ràng khi sử dụng Instant, trong đó nó cho thấy bạn có thể thực sự là quan tâm đến giờ địa phương và chênh lệch, thay vì nó thực sự chỉ là dấu thời gian - nhưng nếu đây là chỉ lý do bạn 'd sử dụng Noda Thời gian, nó sẽ có ý nghĩa để gắn bó với DateTimeOffset.

  2. Đây là một nỗi sợ hãi hợp lý, nhưng bạn có từ cá nhân của tôi rằng tôi sẽ không từ bỏ Thời gian Noda. Tất nhiên, đối số ngược lại là nếu tôi làm từ bỏ nó, bạn vẫn có thể vá nó - trong khi nếu bạn sử dụng sản phẩm thương mại và công ty gấp, bạn sẽ bị kẹt :) Tôi hiểu mối quan tâm Tuy nhiên.

  3. Vì nó xảy ra, tôi hy vọng để phát hành v1.0.0 nay :)

+0

Tuyệt vời, Jon. Cám ơn rất nhiều. –

Các vấn đề liên quan