La conversion de format DateTime à l'aide de rasoir
Quel est le problème avec le suivant?
@Convert.ToDateTime((@item.Date.ToShortDateString())," dd - M - yy")
@item.Date montre 20/11/2005 12:00 un.m et je veux afficher 20 Nov 2011
- Les combinaisons des diverses date de spécificateurs de format qui existent peut être trouvé ici: msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
Vous devez vous connecter pour publier un commentaire.
Essayer:
ou vous pouvez utiliser la
[DisplayFormat]
attribut sur votre modèle de vue:et à votre avis, il vous suffit de:
C'est la solution:
Avant ToString() utilisation Valeur.
Essayer dans la MVC 4.0
L' [DisplayFormat] attribut n'est utilisé que dans EditorFor/méthode displayfor, et non pas par le HTML brut Api comme TextBoxFor. J'ai eu de travail en procédant comme suit,
Modèle:
Vue:
De sortie:
30/12/2011
Lien connexe:
http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.displayformatattribute.applyformatineditmode.aspx
Code ci-dessous va vous aider à
Pour Rasoir mettre le fichier de type DateTime.cshtml dans le Views/Shared/EditorTemplates dossier. DateTime.cshtml contient deux lignes et produit une zone de texte avec une date au format 9/11/2001.
En général, le mois s'est échappée comme l'MMM, les 4 chiffres de l'année aaaa, de sorte que votre chaîne de format doit ressembler à "dd MMM yyyy"
Je n'étais pas en mesure d'obtenir ce travail entièrement basé sur les suggestions ci-dessus. Y compris la DataTypeAttribute
[DataType(DataType.Date)]
a semblé résoudre mon problème, voir:Modèle
Vue
HTH
Pour tous la solution donnée, lorsque vous essayez ceci dans un navigateur moderne (comme FF), et vous avez mis le bon modèle
mvc(5) wil rendu (le type de l'entrée est fixé à date basé sur votre date de paramètres dans votre modèle!)
Et le navigateur affiche
Pour corriger cela, vous devez modifier le type à texte au lieu de la date (également si vous souhaitez utiliser votre calendrier personnalisé)