2013-04-12 35 views

Trả lời

6

Không có điều nào như "Ba Tư DateTime". Giá trị DateTimeluôn là giá trị lịch Gregorian, không có định dạng cụ thể. Khi bạn định dạng nó (thường bằng cách gọi ToString), bạn có thể xác định cách nó được định dạng - và nếu bạn sử dụng một nền văn hóa sử dụng lịch không phải của Gregorian, nó sẽ chuyển đổi giá trị ban đầu thành lịch đó.

Vì vậy, ví dụ, nếu bạn muốn phân tích đầu vào từ một người dùng Ba Tư và sau đó chuyển đổi đó để ngày tương đương mà một người sử dụng tiếng Anh sẽ hiểu, bạn có thể sử dụng:

DateTime date = DateTime.Parse(text, persianCulture); 
string englishText = date.ToString(englishCulture); 
2

Tôi không tin rằng có là một cụm từ được gọi là Ngày giờ Ba Tư trong số Ngày giờ tiếng Anh.

Từ MSDN;

Các kiểu giá trị DateTime đại diện cho ngày tháng và thời gian với các giá trị khác nhau, từ 00:00:00 (nửa đêm), tháng 1, 0001 Anno Domini (Common Era) qua 23:59:59, ngày 31 Tháng 12, 9999 AD (CE) trong Gregorian lịch.

Khi bạn sử dụng Culture với DateTime của bạn, nó sẽ tự động chuyển đổi sang lịch này.

Lớp CultureInfo cung cấp thông tin văn hóa cụ thể, chẳng hạn như ngôn ngữ, sublanguage, quốc gia/khu vực, lịch và công ước gắn liền với một nền văn hóa cụ thể. Lớp học này cũng cung cấp quyền truy cập vào các trường hợp cụ thể về văn hóa của các đối tượng DateTimeFormatInfo, NumberFormatInfo, CompareInfoTextInfo. Các đối tượng này chứa thông tin bắt buộc cho hoạt động văn hóa cụ thể, chẳng hạn làm vỏ, định dạng ngày tháng và số và so sánh chuỗi.

1

Bạn có thể sử dụng DateTime.Parse()

System.Globalization.CultureInfo cultureinfo = 
    new System.Globalization.CultureInfo("en-US"); 
    DateTime dt = DateTime.Parse("11/04/2013", cultureinfo); 
Các vấn đề liên quan