2010-09-10 35 views
12

Khi tôi viết một ngày trong C# bằng cách sử dụngLàm thế nào để định dạng một ngày với dấu gạch chéo trong C#

DateTime.Now.ToString("yyyy/MM/dd") 

sau đó nó sẽ trả về 2010-09-10, nhưng tôi cần 2010/09/10. Làm thế nào để làm cho nó đầu ra slashes?

+0

Tôi không chắc chắn những gì được hỏi ở đây. Bạn đang cố gắng chuyển đổi ngày có dấu gạch ngang thành ngày có dấu gạch chéo? –

Trả lời

17

Chỉ định văn hóa. Văn hóa hiện tại của bạn sử dụng - cho các dấu tách, và đó là những gì ToString mặc định (văn hóa hiện tại của bạn), trừ khi bạn ghi đè nó.

Bạn có thể thử này:

DateTime.Now.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture) 

nhưng có lẽ nó sẽ tốt hơn nếu bạn chỉ định một nền văn hóa khác nhau, ví dụ nếu bạn muốn văn hóa Mỹ:

DateTime.Now.ToString("yyyy/MM/dd", CultureInfo.GetCultureInfo("en-US")) 

Cả hai ý trên cung cấp cho bạn/như một dấu phân cách.

+0

cảm ơn bạn đã trợ giúp! –

6

Một cách khác là để xác định các dấu gạch chéo như literals nhân vật:

DateTime.Now.ToString("yyyy'/'MM'/'dd"); 
"2010/09/10" 
19

Sử dụng

DateTime.Now.ToString("yyyy'/'MM'/'dd"); 

/- tách ngày. Nó sẽ được thay thế theo văn hóa hiện tại. Vì vậy, bạn cần kèm theo nó với dấu phân cách chữ cái (') để sử dụng nó như char.

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#dateSeparator

+0

+1: Không biết rằng bạn có thể ghi đè lên nó như thế! –

+0

Bạn có nghĩa là dấu phân cách chữ cái, không phải là chuỗi. – ProfK

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