Tôi muốn đạt được trò chuyện của this, nghĩa là, tôi muốn chuyển đổi một string
với định dạng hh:mm tt
thành TimeSpan
với số giây không bằng 0. Ví dụ, 09:45 pm
được chuyển đổi thành 21:45:00
.AM/PM để TimeSpan
Trả lời
Cách tiếp cận đơn giản nhất có thể là phân tích cú pháp dưới dạng DateTime
sử dụng DateTime.ParseExact
và sau đó sử dụng TimeOfDay
để chính xác số TimeSpan
.
DateTime dateTime = DateTime.ParseExact(text,
"hh:mm tt", CultureInfo.InvariantCulture);
TimeSpan span = dateTime.TimeOfDay;
Đó là lẻ để xem 0 hàng đầu về một số giờ khi bạn đang cũng chỉ định một sáng/chiều vấn thiết kế mặc dù. Bạn có thể muốn "h" thay vì "hh" trong chuỗi định dạng, để cho phép "9:45 chiều" thay vì "09:45 chiều".
(Tôi cũng cho rằng đó là việc sử dụng lạ TimeSpan
ở vị trí đầu tiên, nhưng sau đó các loại ngày/thời gian .NET có phần rối tung trong quan điểm của tôi. Tôi khuyên bạn nên sử dụng Noda Time, nhưng tôi biased :)
TimeSpan tspan;
tspan = DateTime.ParseExact("01:45 PM", "hh:mm tt", CultureInfo.InvariantCulture).TimeOfDay;
Câu trả lời chính xác đã được cung cấp http://stackoverflow.com/a/17553758/3893182 – danopz
Tác phẩm này dành cho tôi.
TimeSpan ts= DateTime.Parse("8:00 PM").TimeOfDay;
Làm việc tốt cho tôi, cảm ơn. – amnippon
- 1. Sử dụng JSON để serialize/deserialize TimeSpan
- 2. timespan và UTC
- 3. Định dạng TimeSpan ToString
- 4. TimeSpan to DateTime conversion
- 5. Nhân TimeSpan trong .NET
- 6. Cách nhận TimeSpan từ DateTime
- 7. Datetime.now là giá trị TimeSpan?
- 8. làm thế nào để chuyển đổi định dạng 24 giờ TimeSpan thành định dạng 12 giờ TimeSpan?
- 9. Làm việc xung quanh để phân tích TimeSpan 24:00
- 10. Chuỗi phân tích cú pháp thành TimeSpan
- 11. Định dạng mô hình MVC Trường TimeSpan
- 12. Chính xác Thread.Sleep (TimeSpan) như thế nào?
- 13. Định dạng A TimeSpan Với Năm
- 14. Làm thế nào để chuyển đổi ISO 8601 Thời gian để TimeSpan trong VB.Net?
- 15. làm thế nào để đạt được timespan để chuyển đổi chuỗi?
- 16. Làm thế nào để chuyển đổi Datareader Kết quả của DbType.Time để Timespan Object?
- 17. Thuộc tính TimeSpan trong Bộ nhớ bảng Azure
- 18. Cách chuyển đổi TimeSpan thành 24 giờ và phút chuỗi?
- 19. Reactive Throttle Trở All Items Added Trong Các TimeSpan
- 20. LINQ: Sự khác nhau giữa 2 DateTimes trong TimeSpan
- 21. Parsing TimeSpan từ chuỗi bao gồm định dạng
- 22. TimeSpan vào thư viện chuỗi thân thiện (C#)
- 23. Generic TimeSpan ràng buộc trong Asp.NET MVC 2
- 24. Ruby có tương đương với TimeSpan trong C# không?
- 25. Đánh dấu .NET DateTime/TimeSpan trong bao lâu?
- 26. Thêm một TimeSpan vào một DateTime đã cho
- 27. TimeSpan đến chuỗi định dạng thời lượng ISO8601
- 28. TimeSpan sử dụng một ngày không có giá trị
- 29. Format TimeSpan để mm: ss cho timespans tích cực và tiêu cực
- 30. Làm thế nào để phân tích cú pháp chuỗi với giờ lớn hơn 24 đến TimeSpan?
Một 'TimeSpan' không có định dạng. –