Cara mendapatkan nama bulan lengkap dari DateTime


183

Apa cara yang tepat untuk mendapatkan nama lengkap bulan dari suatu DateTimeobjek?
misalnya January, December.

Saat ini saya menggunakan:

DateTime.Now.ToString("MMMMMMMMMMMMM");

Saya tahu itu bukan cara yang benar untuk melakukannya.

Jawaban:


272

Gunakan specifier format khusus "MMMM" :

DateTime.Now.ToString("MMMM");

3
Jika hanya bulan yang Anda minati maka DateTime.Hari ini bukan DateTime. Sekarang adalah penyederhanaan lebih lanjut. Tidak ada porsi waktu yang tidak berguna dan sedikit lebih cepat.
OrizG

5
Anehnya saya mendapatkan teks "MMMM"
Chagbert

88

Anda dapat melakukan seperti yang disarankan mservidio , atau bahkan lebih baik, melacak budaya Anda menggunakan kelebihan ini:

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

3
Itu rapi, saya perlu melihat ke dalam hal budaya ini.
Alex Turpin

2
Jika hanya bulan yang Anda minati maka DateTime.Hari ini bukan DateTime. Sekarang adalah penyederhanaan lebih lanjut. Tidak ada porsi waktu yang tidak berguna dan sedikit lebih cepat.
OrizG

39

Jika Anda menginginkan bulan saat ini, Anda dapat menggunakan DateTime.Now.ToString("MMMM")untuk mendapatkan bulan penuh atau DateTime.Now.ToString("MMM")untuk mendapatkan bulan yang disingkat.

Jika Anda memiliki tanggal lain yang Anda ingin dapatkan string bulan, setelah itu dimuat ke objek DateTime, Anda dapat menggunakan fungsi yang sama dari objek itu:
dt.ToString("MMMM")untuk mendapatkan bulan penuh atau dt.ToString("MMM")untuk mendapatkan bulan yang disingkat.

Referensi: String Format Tanggal dan Waktu Kustom

Atau, jika Anda memerlukan nama bulan khusus budaya, maka Anda dapat mencoba ini: DateTimeFormatInfo.GetAbbreviatedMonthName Method
DateTimeFormatInfo.GetMonthName Method


1
+1 untuk menyebutkan cara melakukannya dari DateTimeyang TIDAK DateTime.Now. Saya pikir itu string mon = myDate.Month.ToString("MMM")ketika saya sedih dikecewakan oleh itu meludah "MMM" ke dalam variabel string saya. Senang Anda mengambil upaya untuk menunjukkan cara menggunakan .ToString("MMM")pada tanggal, itu sendiri, untuk mendapatkan bulan, padahal tidak DateTime.Now. Dan bagaimana Anda menjelaskan perbedaan antara MMMdan MMMM. Jawaban terbaik di halaman ini. Pujian.
vapcguy

1
Jika hanya bulan yang Anda minati maka DateTime.Hari ini bukan DateTime. Sekarang adalah penyederhanaan lebih lanjut. Tidak ada porsi waktu yang tidak berguna dan sedikit lebih cepat.
OrizG

21

Jika Anda menerima "MMMM" sebagai respons, mungkin Anda mendapatkan bulan dan kemudian mengonversinya menjadi serangkaian format yang ditentukan.

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

akan menampilkan "MMMM"

DateTime.Now.ToString("MMMM") 

akan menampilkan nama bulan


16

Anda dapat menggunakan Budaya untuk mendapatkan nama bulan untuk negara Anda seperti:

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

14

Nya

DateTime.Now.ToString("MMMM");

Dengan 4 Ms.


1
Jika hanya bulan yang Anda minati maka DateTime.Hari ini bukan DateTime. Sekarang adalah penyederhanaan lebih lanjut. Tidak ada porsi waktu yang tidak berguna dan sedikit lebih cepat.
OrizG

11

Seharusnya adil DateTime.ToString( "MMMM" )

Anda tidak perlu semua tambahan 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.
*/
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.