nếu tôi có chuỗi ngày giờ theo định dạng lạ, chẳng hạn như YYYY##MM##DD HH**M**SS
, làm cách nào tôi có thể tạo cơ sở đối tượng datetime mới trên đó? tôi đã đọc điều gì đó về datetimeformatinfoclass nhưng không chắc chắn cách làm cho nó hoạt động ..Parse DateTime trong C# từ định dạng lạ
Trả lời
Bạn có thể sử dụng DateTime.ParseExact hoặc DateTime.TryParseExact cho dữ liệu mà bạn không tự tin trong Ví dụ:
using System;
class Test
{
static void Main()
{
string formatString = "yyyy'##'MM'##'dd' 'HH'*'mm'*'ss";
string sampleData = "2010##02##10 07*22*15";
Console.WriteLine(DateTime.ParseExact(sampleData,
formatString,
null));
}
}
Các dấu ngoặc kép trong chuỗi định dạng không phải là thực sự cần thiết - điều này sẽ làm việc. quá:
string formatString = "yyyy##MM##dd HH*mm*ss";
Tuy nhiên, sử dụng dấu ngoặc kép có nghĩa là bạn phải sử dụng ký tự giữa dấu ngoặc kép và không được hiểu là ký tự mẫu - vì vậy nếu bạn thay đổi "#" thành "/" phiên bản sử dụng dấu ngoặc kép chắc chắn sẽ sử dụng "/" trong khi rsion không sử dụng giá trị văn hóa cụ thể.
null
trong cuộc gọi đến ParseExact
có nghĩa là "sử dụng văn hóa hiện tại" - trong trường hợp này không có nhiều khác biệt, nhưng thay thế thường hữu ích là CultureInfo.InvariantCulture
.
Thật không may là không có cách nào để BCL phân tích chuỗi định dạng và giữ lại thông tin; dự án Noda Time của chính tôi sửa chữa tình trạng này và tôi hy vọng nó sẽ làm cho việc phân tích cú pháp và định dạng nhanh hơn rất nhiều - nhưng nó không sẵn sàng cho sản xuất tại thời điểm này.
Bạn có thể sử dụng phương thức DateTime.ParseExact và chuyển định dạng mình cần.
đây là cách hiệu quả nhất để phân tích chuỗi 'chuỗi' thành' Ngày giờ '. phân tích cú pháp bằng '.Parse()' và '.TryParse()' không có thông tin định dạng là f..king damn slow! –
- 1. Tính tuổi từ định dạng DateTime ở định dạng Years.Months?
- 2. C# DateTime to "YYYYMMDDHHMMSS" định dạng
- 3. Cách in DateTime theo định dạng Ba Tư trong C#
- 4. Định dạng datetime là gì?
- 5. DateTime ToString (định dạng)
- 6. Đặt định dạng DateTime
- 7. Giờ từ DateTime? theo định dạng 24 giờ
- 8. ASP.NET MVC3 - định dạng DateTime
- 9. Định dạng múi giờ datetime
- 10. Chuyển đổi C# DateTime thành định dạng MongoDB
- 11. Trình định dạng định dạng DateTime 'Z' ở đâu?
- 12. Parse FB Graph API chuỗi ngày vào python datetime
- 13. đang Parse JavaScript trong C#
- 14. Html.HiddenFor định dạng DateTime không chính xác trong ASP.NET
- 15. Làm thế nào để chuyển đổi định dạng datetime sang định dạng ngày trong báo cáo tinh thể bằng C#?
- 16. Chuyển đổi DateTime sang định dạng UK
- 17. WCF DataMember DateTime Định dạng tuần tự
- 18. Định dạng phương pháp gốc trong Java - kết quả lạ
- 19. Hành vi kỳ lạ của DateTime
- 20. Làm thế nào để định dạng một DateTime trong PowerShell?
- 21. định dạng và hiển thị datetime trong XSLT
- 22. Định dạng ngày tháng() khi chèn vào datetime trong MySQL
- 23. Ngày JSON từ tweeter sang định dạng C#
- 24. Vấn đề lạ với tính toán DateTime
- 25. file Parse chiều rộng cố định
- 26. định dạng chuỗi trong C#
- 27. C - Định dạng% x định dạng
- 28. Làm thế nào để chuyển đổi một datetime trong định dạng CurrentCulture sang Gregorian DateTime?
- 29. Cách lấy định dạng Ngày dài từ DateTime mà không có ngày trong tuần
- 30. datetime từ chuỗi trong Python, định dạng chuỗi đoán tốt nhất
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx có phân tích cú pháp có liên quan, nếu bạn đang cung cấp định dạng của riêng mìnhString – Tanzelax