Tôi gọi số DateTime.ParseExact
của .NET bằng chuỗi định dạng tùy chỉnh dọc theo các dòng "MM/dd/yyyy h:mmt"
. Chuỗi này xử lý năm có bốn chữ số nhưng không xử lý được hai năm. Có cách nào để xử lý cả hai trường hợp trong một cuộc gọi ParseExact duy nhất không? Tôi đã thử "MM/dd/yy h:mmt"
và nó chỉ xử lý trường hợp hai chữ số.Làm cách nào để tôi có thể chấp nhận cả hai chữ số và bốn chữ số năm với một cuộc gọi duy nhất tới DateTime.ParseExact?
6
A
Trả lời
19
Bạn có thể vượt qua một mảng các chuỗi định dạng cho tham số thứ hai trên quá tải này của ParseExact
- điều này sẽ bao gồm cả các biến thể 2 và 4 năm.
DateTime.ParseExact(myDateTime,
new []{"MM/dd/yy h:mmt", "MM/dd/yyyy h:mmt"},
CultureInfo.InvariantCulture,
DateTimeStyles.None)
0
Bạn luôn có thể chỉ cần sử dụng appropriate overload:
var date = DateTime.ParseExact(dateString,
new[] { "MM/dd/yyy h:mmt", "MM/dd/yy h:mmt" },
new CultureInfo("en-US"),
DateTimeStyles.None);
3
Gọi sự quá tải của DateTime.ParseExact
chấp nhận một loạt các định dạng có thể:
DateTime dt =
DateTime.ParseExact(s, new[] { "MM/dd/yyyy h:mmt", "MM/dd/yy h:mmt" }, null, 0);
Đối với số thứ ba, vượt qua null
hoặc DateTimeFormatInfo.CurrentInfo
nếu chuỗi ngày của bạn được bản địa hoá cho nền văn hóa hiện tại của người dùng; vượt qua DateTimeFormatInfo.InvariantInfo
nếu chuỗi ngày của bạn luôn ở định dạng Hoa Kỳ.
Đối với đối số thứ tư, 0 tương đương với DateTimeStyles.None
.
1
Sử dụng quá tải DateTime.ParseExact có chuỗi định dạng chuỗi.
MSDN:
string[] formats= {"MM/dd/yyyy h:mmt", "MM/dd/yy h:mmt"};
var dateTime = DateTime.ParseExact(dateString, formats,
new CultureInfo("en-US"),
DateTimeStyles.None);
Các vấn đề liên quan
- 1. Java: ID có 10 chữ số duy nhất
- 2. Làm cách nào tôi có thể đặt một biến để chia và làm tròn tới 0 chữ số thập phân?
- 3. Làm cách nào để xác nhận cuộc gọi chấp nhận đối số chuỗi bằng Python Mock?
- 4. Làm cách nào để xác thực chuỗi có chứa ít nhất một chữ cái và một chữ số trong javascript?
- 5. iphone shortdate với 4 chữ số năm
- 6. trong python làm thế nào để tôi chuyển đổi một số chữ số thành chuỗi hai chữ số?
- 7. Cách đặt NumberTextBox chỉ chấp nhận chữ số trong dojo?
- 8. Tạo ID duy nhất từ chuỗi chữ và số
- 9. Biểu thức chính quy - bắt đầu và kết thúc bằng một chữ cái, chỉ chấp nhận chữ cái, số và _
- 10. Đếm tất cả các số có các chữ số duy nhất trong một phạm vi nhất định
- 11. Nhận ngày cụ thể theo văn hóa với 2 năm chữ số trong C#
- 12. Cách nhận số cuộc gọi và số SMS bị nhỡ
- 13. Làm thế nào để tạo ra một số năm chữ số ngẫu nhiên Java
- 14. Tôi làm cách nào để thêm ký tự chữ số và chữ số Hy Lạp vào geom_text() trong ggplot?
- 15. Tôi làm cách nào để tìm kiếm các hàng chứa ký tự không phải chữ số hoặc chữ số?
- 16. Nhận năm gồm 2 chữ số trong T-SQL
- 17. Làm cách nào để nhận Vim khớp với một dòng không bắt đầu bằng số có bảy chữ số?
- 18. buộc 4 chữ số năm trong java's simpleedateformat
- 19. Làm cách nào để định dạng các số chỉ có hai chữ số thập phân?
- 20. T-SQL: Làm cách nào để tạo khóa duy nhất phân biệt chữ hoa chữ thường?
- 21. Một hoặc hai chữ số Regex
- 22. regex: tìm số có một chữ số
- 23. Cách nhận số để luôn hiển thị dưới dạng hai chữ số
- 24. Tôi có thể sử dụng loại biến nào để giữ số lớn (30 chữ số) trong java?
- 25. MongoDB có thể sắp xếp chữ và số không?
- 26. kiểm tra xem chuỗi có chứa cả số và chữ cái (ít nhất)
- 27. Làm cách nào để chuyển đổi chữ số tiếng Anh sang chữ số Ả Rập?
- 28. chuỗi chữ và số Split tới mảng chứa các bảng chữ cái và ký tự số riêng
- 29. Regex có khớp với một nhóm chữ số cụ thể có độ dài nhất định không?
- 30. Làm thế nào để tách một chuỗi giữa các chữ cái và chữ số (hoặc giữa các chữ số và chữ cái)?
cám ơn; điều đó thật tuyệt. Các định dạng có được thử theo thứ tự xuất hiện trong mảng không? Nó sẽ là tốt hơn để đặt định dạng bốn chữ số đầu tiên? –
@WilliamGross - Tài liệu không chỉ định, nhưng rất có thể là có, chúng được thử theo thứ tự. Nó sẽ chỉ tốt hơn để đặt định dạng bốn chữ số đầu tiên nếu hầu hết các chuỗi dự kiến để phân tích cú pháp sẽ có bốn chữ số năm. – Oded