Tôi sử dụng định dạng nào cho Ngày/Giờ khi ghi vào một tệp XML bằng .NET? Tôi chỉ cần sử dụng DateTime.ToString()
hoặc tôi có phải sử dụng định dạng cụ thể không?Định dạng đúng để sử dụng cho Ngày/Giờ trong một tệp XML
Trả lời
Tôi luôn sử dụng định dạng ISO 8601 (ví dụ: 2008-10-31T15:07:38.6875000-05:00
) - date.ToString("o")
. Nó cũng là XSD date format. Đó là định dạng ưa thích và Standard Date and Time Format string, mặc dù bạn có thể sử dụng chuỗi định dạng thủ công nếu cần nếu bạn không muốn 'T' giữa ngày và giờ: date.ToString("yyyy-MM-dd HH:mm:ss");
EDIT: Nếu bạn đang sử dụng lớp được tạo một XSD hoặc Web Service, bạn chỉ có thể gán trực tiếp cá thể DateTime cho thuộc tính lớp. Nếu bạn đang viết văn bản XML, thì hãy sử dụng ở trên.
DTD phải nói gì?
Nếu tệp XML dành cho giao tiếp với phần mềm hiện có khác (ví dụ: SOAP), sau đó kiểm tra phần mềm đó cho phần mềm mong muốn.
Nếu tệp XML là để tuần tự hóa hoặc liên lạc với phần mềm không tồn tại (ví dụ: phần mềm bạn đang viết), bạn có thể xác định nó. Trong trường hợp đó, tôi đề nghị một cái gì đó dễ dàng để phân tích trong ngôn ngữ của bạn (s) của sự lựa chọn, và dễ dàng để đọc cho con người. ví dụ: nếu ngôn ngữ của bạn (cho dù VB.NET hoặc C# .NET hay bất kỳ thứ gì) cho phép bạn phân tích cú pháp các ngày ISO (YYYY-MM-DD) một cách dễ dàng, đó là điều tôi muốn đề xuất.
EDIT: Đây là lời khuyên không tốt. Sử dụng "o", như trên. "s" thực hiện điều sai.
tôi luôn luôn sử dụng này:
dateTime.ToUniversalTime().ToString("s");
này là đúng nếu schema của bạn trông như thế này:
<xs:element name="startdate" type="xs:dateTime"/>
nào sẽ cho kết quả:
<startdate>2002-05-30T09:00:00</startdate>
Bạn có thể tìm thêm thông tin tại đây: http://www.w3schools.com/xml/schema_dtypes_date.asp
Nếu bạn đang lắp ráp thủ công chuỗi XML, hãy sử dụng var.ToUniversalTime().ToString("yyyy-MM-dd'T'HH:mm:ss.fffffffZ"));
Điều đó sẽ xuất ra định dạng Ngày giờ XML chính thức. Nhưng bạn không phải lo lắng về định dạng nếu bạn sử dụng các phương thức tuần tự tích hợp sẵn.
Lớp XmlConvert
cung cấp các loại cơ sở này. Về DateTimes, đặc biệt, hãy cẩn thận về các phương pháp lỗi thời. Xem thêm: https://stackoverflow.com/a/7457718/1288109
- 1. Tệp cấu hình không được định dạng đúng XML # 2
- 2. Phân tích cú pháp không đúng định dạng XML
- 3. Vim định dạng sử dụng gg = G với xml
- 4. Sử dụng xml.etree.elementtree để in các tệp xml được định dạng độc đáo
- 5. Sửa XML không đúng định dạng trong PHP trước khi xử lý bằng cách sử dụng các hàm DOMDocument
- 6. Lấy Mã Định dạng đúng cho numFmtID trong Excel
- 7. Tại sao tệp .sln không sử dụng định dạng XML trong .NET?
- 8. Sử dụng ffmpeg chuyển đổi tệp từ một định dạng sang một định dạng khác
- 9. định dạng-vá cho một tệp đơn
- 10. Định dạng thời gian được sử dụng trong tệp .ics?
- 11. Sử dụng XSLT nội tuyến cho một tệp XML
- 12. Mở rộng tên tệp đúng cho định dạng tệp 'văn bản/làm giàu' của MIME?
- 13. Sử dụng XSLT để dịch một tệp XML
- 14. Eclipse: tự động định dạng tệp XML khi lưu
- 15. Sử dụng một định dạng Unicode cho `time.strftime Python()`
- 16. Tệp định dạng Lược đồ XML: pain.008.002.02
- 17. Sử dụng Tệp XML (log4j2.xml) để định cấu hình Log4j 2
- 18. Định dạng XML trong Visual Studio 2010
- 19. Sử dụng đối số định dạng chuỗi trong Android file layout xml
- 20. Làm thế nào để lưu HTML trong tệp XML bằng cách sử dụng LINQ to XML?
- 21. Python cung cấp lỗi 'Không đúng định dạng xml' vì sự hiện diện của ký tự '&'
- 22. chuỗi định dạng đúng cho String.format hoặc tương tự
- 23. Định dạng ngày giờ đúng cho dịch vụ web
- 24. Định dạng tệp XML bằng C++ hoặc Qt
- 25. Thêm dữ liệu bổ sung cho một loạt Highcharts để sử dụng trong trình định dạng
- 26. SublimeText 2 định dạng xml web.config
- 27. Tạo XML được định dạng trong Scala
- 28. iPhone CorePlot định dạng đúng trục y
- 29. LINQ to XML - Cách sử dụng XDocument đúng cách
- 30. Định dạng tệp 3D cho trò chơi
Hãy nhớ điều này chuyển đổi ngày thành UTC. Khi bạn xử lý ngày, bạn phải chuyển đổi nó trở lại múi giờ hiện tại của bạn dựa trên ngôn ngữ (trừ khi bạn đang xử lý mọi thứ trong UTC). Ngoài ra, thông thường bạn sẽ đặt 'Z' ở cuối để biểu thị ngày tháng là UTC. – Ryan
"s" hoạt động cho tôi khi gọi một dịch vụ web .net từ ui xà phòng. –