2008-08-28 19 views
77

Làm cách nào để nhận ngày hôm nay bằng C# ở định dạng dd/mm/yyyy?Tôi làm cách nào để nhận ngày hôm nay bằng C# ở định dạng dd/mm/yyyy?

Tôi cần đặt biến chuỗi thành ngày hôm nay (tốt nhất là không có năm), nhưng phải có cách tốt hơn là xây dựng mỗi tháng một lần mỗi ngày.

BTW: Tôi ở Mỹ vì vậy, M/dd sẽ chính xác, ví dụ: Ngày 11 tháng 9 là 9/11.

Lưu ý: câu trả lời từ kronoz đã được thảo luận trong quá trình quốc tế hóa và tôi nghĩ nó đủ tuyệt vời để đề cập vì tôi không thể làm cho câu trả lời được chấp nhận là tốt.

kronoz's answer

+3

Md dd sẽ hiển thị ngày 1 tháng 1 là 1/01. Bạn có muốn 1/01 hoặc chỉ 1/1? –

Trả lời

8
DateTime.Now.ToString("dd/MM/yyyy"); 
3
DateTime.Now.Date.ToShortDateString() 

Tôi nghĩ rằng đây là những gì bạn đang tìm kiếm

7
DateTime.Now.Date.ToShortDateString() 

là văn hóa cụ thể.

Tốt nhất là gắn bó với:

DateTime.Now.ToString("d/MM/yyyy"); 
3

Hoặc không năm:

DateTime.Now.ToString("M/dd") 
6
string today = DateTime.Today.ToString("M/d"); 
20

Không phải là khủng khiếp pedantic, nhưng nếu bạn đang quốc tế hóa mã nó có thể có ích hơn để có cơ sở để có được những ngày ngắn cho một nền văn hóa nhất định, ví dụ như: -

using System.Globalization; 
using System.Threading; 

... 

var currentCulture = Thread.CurrentThread.CurrentCulture; 
try { 
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-us"); 
    string shortDateString = DateTime.Now.ToShortDateString(); 
    // Do something with shortDateString... 
} finally { 
    Thread.CurrentThread.CurrentCulture = currentCulture; 
} 

Mặc dù rõ ràng cách tiếp cận "m/dd/yyyy" là đáng kể neater !!

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