Cách nhận tên tháng đầy đủ từ DateTime


183

Cách thích hợp để có được tên đầy đủ của tháng của một DateTimeđối tượng là gì?
ví dụ như January, December.

Tôi hiện đang sử dụng:

DateTime.Now.ToString("MMMMMMMMMMMMM");

Tôi biết đó không phải là cách chính xác để làm điều đó.

Câu trả lời:



88

Bạn có thể làm như mservidio đề xuất , hoặc thậm chí tốt hơn, theo dõi văn hóa của bạn bằng cách sử dụng quá tải này:

DateTime.Now.ToString("MMMM", CultureInfo.InvariantCulture);

3
Thật gọn gàng, tôi cần xem xét thứ văn hóa này.
Alex Turpin

2
Nếu đó chỉ là tháng bạn quan tâm thì DateTime. Hôm nay thay vì DateTime. Bây giờ là một sự đơn giản hóa hơn nữa. Không có phần thời gian vô dụng và nhanh hơn một chút.
OrizG

39

Nếu bạn muốn tháng hiện tại, bạn có thể sử dụng DateTime.Now.ToString("MMMM")để có được toàn bộ tháng hoặc DateTime.Now.ToString("MMM")để có được một tháng viết tắt.

Nếu bạn có một số ngày khác mà bạn muốn lấy chuỗi tháng, sau khi nó được tải vào một đối tượng DateTime, bạn có thể sử dụng các hàm tương tự ngoài đối tượng đó:
dt.ToString("MMMM")để lấy toàn bộ tháng hoặc dt.ToString("MMM")để có được một tháng viết tắt.

Tham khảo: Chuỗi định dạng ngày và giờ tùy chỉnh

Ngoài ra, nếu bạn cần tên tháng cụ thể về văn hóa, thì bạn có thể thử các cách sau: Phương thức
DateTimeFormatInfo.GetAbenameviatedMonthName DateTimeFormatInfo.GetMonthName Phương thức


1
+1 để đề cập đến cách làm điều đó từ DateTimeKHÔNG DateTime.Now. Tôi đã nghĩ rằng đó là string mon = myDate.Month.ToString("MMM")khi tôi buồn bã buông xuống bằng cách nhổ "MMM" vào biến chuỗi của tôi. Vui mừng bạn đã nỗ lực để hiển thị cách sử dụng .ToString("MMM")vào ngày, chính nó, để có được tháng, khi nó không DateTime.Now. Và làm thế nào bạn giải thích sự khác biệt giữa MMMMMMM. Câu trả lời tốt nhất trên trang này. Thanh danh.
vapcguy

1
Nếu đó chỉ là tháng bạn quan tâm thì DateTime. Hôm nay thay vì DateTime. Bây giờ là một sự đơn giản hóa hơn nữa. Không có phần thời gian vô dụng và nhanh hơn một chút.
OrizG

21

Nếu bạn nhận được "MMMM" dưới dạng phản hồi, có thể bạn đang nhận được tháng và sau đó chuyển đổi nó thành một chuỗi định dạng được xác định.

DateTime.Now.Month.ToString("MMMM") 

sẽ xuất "MMMM"

DateTime.Now.ToString("MMMM") 

sẽ xuất tên tháng


16

Bạn có thể sử dụng Văn hóa để lấy tên tháng cho quốc gia của mình như:

System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("ar-EG");
string FormatDate = DateTime.Now.ToString("dddd., MMM dd yyyy, hh:MM tt", culture);

14

nó là

DateTime.Now.ToString("MMMM");

Với 4 Ms.


1
Nếu đó chỉ là tháng bạn quan tâm thì DateTime. Hôm nay thay vì DateTime. Bây giờ là một sự đơn giản hóa hơn nữa. Không có phần thời gian vô dụng và nhanh hơn một chút.
OrizG

11

Nó chỉ là DateTime.ToString( "MMMM" )

Bạn không cần tất cả các Ms thêm .


9
DateTime birthDate = new DateTime(1981, 8, 9);
Console.WriteLine ("I was born on the {0}. of {1}, {2}.", birthDate.Day, birthDate.ToString("MMMM"), birthDate.Year);

/* The above code will say:
"I was born on the 9. of august, 1981."

"dd" converts to the day (01 thru 31).
"ddd" converts to 3-letter name of day (e.g. mon).
"dddd" converts to full name of day (e.g. monday).
"MMM" converts to 3-letter name of month (e.g. aug).
"MMMM" converts to full name of month (e.g. august).
"yyyy" converts to year.
*/
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.