2011-02-09 1 views

Répondre

4

Tout d'abord, analyser la chaîne à un DateTime et formatez à l'aide le ToString de DateTime:

DateTime myDateTime = DateTime.Parse("31/03/2011 00:00:00"); 
spnExpiryDate.InnerHtml = myDateTime.ToString("dd MMM yyyy"); 
+0

One question, quelle information sur la culture utilisez-vous? parce que si j'essaye cet exemple j'obtiens que la chaîne n'est pas identifiable comme date et il serait bon de savoir comment obtenir l'analyse de DateTime pour accepter ce format. –

+0

J'ai trouvé une réponse plus complète dans la réponse de MarkXA qui ne nécessite pas que vous ayez le bon jeu de culture par défaut. –

2

Date de la première analyse syntaxique puis formatez la façon dont vous avez besoin:

DateTime dt = DateTime.Parse("31/03/2011 00:00:00"); 
.InnerHtml = String.Format("{0:dd MMM yyyy}", dt); 

Il est bon link que je l'utilise presque chaque fois quand j'ai besoin date de format. Vérifiez également this pour plus d'informations sur la méthode d'extension pour le formatage date/heure.

0

Vous ne dites pas comment vous produisez, mais, fondamentalement, vous voulez fournir le format lorsque vous appelez la ToString:

aTextBox.Text = myDate.ToString("dd MMMM yyyy"); 
3

Cela devrait le faire:

var culture = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB"); 
spnExpiryDate.InnerHtml = DateTime.Parse(ExpiryDate, culture).ToString("d MMM yyyy"); 

Vous pouvez omettre les bits de culture si la culture par défaut de votre serveur est déjà jj/mm/aaaa.

+0

Celui-ci était le seul qui a fonctionné pour moi probablement parce que je n'ai pas en-GB comme culture par défaut. –

1

d'abord analyser votre chaîne à DateTime

var date = DateTime.Parse("31/03/2011 00:00:00", "dd/mm/yyyy HH:mm:ss"); 

puis méthode utilisateur "ToString"

date.ToString("dd MMM yyyy") 
0

L'autre façon est

CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(DateTime.Now.Month); 

vous donne Nom Mois

Questions connexes