DateTime'dan tam ay adı nasıl alınır?


184

Bir DateTimenesnenin ayının tam adını almanın doğru yolu nedir ?
örneğin January, December.

Şu anda kullanıyorum:

DateTime.Now.ToString("MMMMMMMMMMMMM");

Bunu yapmanın doğru yolu olmadığını biliyorum.

Yanıtlar:


273

Kullan "AAAA" özel biçim belirteci :

DateTime.Now.ToString("MMMM");

3
İlgilendiğiniz ay sadece DateTime yerine DateTime.Today.Now daha da basitleştirilmiştir. Hiçbir işe yaramaz zaman kısmı ve biraz daha hızlı.
OrizG

5
Şaşırtıcı bir şekilde "MMMM" metnini alıyorum
Chagbert

88

Sen yapabilirsin mservidio önerdi , hatta daha iyi, bu aşırı kullanarak kültürünün takip:

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

3
Düzenli, bu kültür işlerine bakmam gerek.
Alex Turpin

2
İlgilendiğiniz ay sadece DateTime yerine DateTime.Today.Now daha da basitleştirilmiştir. Hiçbir işe yaramaz zaman kısmı ve biraz daha hızlı.
OrizG

39

Geçerli ayı istiyorsanız, DateTime.Now.ToString("MMMM")ayın tamamını DateTime.Now.ToString("MMM")almak veya kısaltılmış bir ay almak için kullanabilirsiniz.

Ay dizesini almak istediğiniz başka bir tarihiniz varsa, bir DateTime nesnesine yüklendikten sonra, aynı işlevleri o nesnenin dışında kullanabilirsiniz:
dt.ToString("MMMM")tam ayı dt.ToString("MMM")almak veya kısaltılmış bir ay elde etmek için.

Referans: Özel Tarih ve Saat Biçimi Dizeleri

Alternatif olarak, kültüre özgü ay adlarına ihtiyacınız varsa, bunları deneyebilirsiniz: DateTimeFormatInfo.GetAbbreviatedMonthName Yöntemi
DateTimeFormatInfo.GetMonthName Yöntemi


1
+ 1'den nasıl yapılacağından bahsettiğiniz DateTimeiçin DEĞİLDİR DateTime.Now. Ne string mon = myDate.Month.ToString("MMM")yazık ki benim dize değişkeni içine "MMM" tükürme tarafından üzüldüm olduğunu sanmıştı . Tarihte .ToString("MMM"), kendini değil, ayın ne zaman alınacağını göstermek için çaba harcadığınız için mutluyum DateTime.Now. Ve arasındaki farkı izah nasıl MMMve MMMM. Bu sayfadaki en iyi cevap. Kudos.
vapcguy

1
İlgilendiğiniz ay sadece DateTime yerine DateTime.Today.Now daha da basitleştirilmiştir. Hiçbir işe yaramaz zaman kısmı ve biraz daha hızlı.
OrizG

21

Yanıt olarak "MMMM" alırsanız, büyük olasılıkla ayı alıp daha sonra tanımlı biçime dönüştürürsünüz.

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

"MMMM" çıktısı verecek

DateTime.Now.ToString("MMMM") 

ay adını çıktılayacak


16

Ülkeniz için ay adı almak için Kültür'ü kullanabilirsiniz:

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

14

Onun

DateTime.Now.ToString("MMMM");

4 Ms ile.


1
İlgilendiğiniz ay sadece DateTime yerine DateTime.Today.Now daha da basitleştirilmiştir. Hiçbir işe yaramaz zaman kısmı ve biraz daha hızlı.
OrizG

11

Sadece olmalı DateTime.ToString( "MMMM" )

Tüm ekstralara ihtiyacınız yok 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.
*/
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.