2015-01-30 20 views
5

Tôi có hệ thống Windows Server 2008 R2 được định cấu hình với cài đặt ngôn ngữ mặc định (không ghi đè định dạng hoặc bất kỳ thứ gì) và được đặt thành en-US.Định dạng ngày giờ không khớp với văn hóa

Khi tôi thẩm vấn như sau: System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat

Nó được liệt kê các DateSeparator như một - (dash) thay vì một / (slash) . Vì vậy, DateTime.Now.ToString() sẽ trông giống như sau:

01-30-2015.

Ngoài ra, CurrentThread.CurrentCulture.ToString() = "en-US"

Tôi hoàn toàn tại một mất mát như thế nào điều này thậm chí còn có thể, nhưng quan trọng hơn, tôi muốn biết nếu. NET có một số loại một ghi đè miền địa phương đó là cấu hình bằng cách nào đó?

Hệ thống Khu vực & Cài đặt ngôn ngữ là bình thường và chưa được thay đổi. Mọi sự trợ giúp đều rất được trân trọng, xin cảm ơn.

Đây là mã cho thông tin chẩn đoán. Nó đang được chạy trong asp.net trên một trang aspx.

Current Date Time: <%= DateTime.Now.ToString() %> 
Current Short Date: <%= DateTime.Now.ToShortDateString() %> 
Current Culture: <%= System.Threading.Thread.CurrentThread.CurrentCulture.ToString() %> 
Current UI Culture: <%= System.Threading.Thread.CurrentUICulture.ToString() %> 

DateTimeFormatInfo invariant = CultureInfo.InvariantCulture.DateTimeForamat; 
DateTimeFormatInfo uiThread = System.Threading.Thread.CurrentThread.CurrentUICulture.DateTimeFormat; 
DateTimeFormatInfo thread = System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat; 

Type type = System.Threading.Thread.CurrentThread.CurrentUICulture.DateTimeFormat.GetType(); 
foreach(var prop in type.GetProperties()) { 
    <%= prop.Name %> 
    <%= prop.GetValue(invariant, null) %> <br/> 
    <%= prop.GetValue(uiThread, null) %> <br/> 
    <%= prop.GetValue(thread, null) %> <br/> 
} 

Region & Cài đặt Ngôn ngữ Region and Language Settings

Dưới đây là thêm một số thông tin Diagnostic Information about DateTimeFormat

+0

Hãy thử CurrentUICulture thay vì CurrentCulture –

+0

CurrentUICulture đang báo cáo điều tương tự. – Colemangrill

+6

Vì vậy, có lẽ bạn có thể thấy điều này chỉ trong một ứng dụng giao diện điều khiển nhỏ? Một bản demo sẽ thực sự tiện dụng, chỉ để đảm bảo rằng chúng ta đều đang nghĩ về cùng một thứ. –

Trả lời

1

Mỗi người dùng có hồ sơ khu vực khác nhau. Tài khoản và ứng dụng hiện tại của bạn có thể không sử dụng cùng một tài khoản mà tại sao bạn thấy giá trị khác.

Đi tới cửa sổ Cài đặt vùng -> Quản trị -> Nhấp vào Cài đặt sao chép và chọn tất cả hộp kiểm (Màn hình chào mừng và tài khoản hệ thống + Tài khoản người dùng mới), sau đó nhấp OK. Xem liệu nó có khắc phục được sự cố của bạn hay không. Nếu ứng dụng của bạn là Ứng dụng web, bạn cần tạo một AppPool khác để xem ứng dụng đó bị ảnh hưởng.

Các vấn đề liên quan