2010-11-17 17 views
0

J'ai la date comme une chaîne 16/11/2010 12:00:00 AM par exemple que je SAISIE dansentrée HTML + formatage valeur à ce jour

<input type="text" value="<%: Object.Instance.SomeDateAsString %>" />

Note: Cela peut être une chaîne vide ou dans 16/11/2010 12:00:00 AM seul format.

Comment puis-je l'afficher gentiment à l'utilisateur en tant que 16-Nov-2010?

Répondre

1
<input type="text" value="<%: Object.Instance.GetFormattedDateString() %>" /> 

puis sur votre objet:

public String GetFormattedDateString() 
{ 
    String returnString = String.Empty; 
    DateTime parsedDateTime; 
    DateTime.TryParse(this.SomeDateAsString, parsedDateTime); 

    if (parsedDateTime != DateTime.MinValue) 
    { 
    returnString = String.Format("{0:dd-MMM-yyyy}", parsedDateTime); 
    } 

    return returnString; 
} 
+0

hmmm :) - ce n'est pas SomeDate mais SomeDateAsString. Merci quand même! – VoodooChild

+0

Ensuite, je recommande de créer une propriété sur votre objet qui tente d'analyser la chaîne de date à un objet date, puis renvoie la date formatée si elle réussit, sinon String.Empty (si elle échoue). –

+0

+1 bonne idée. dans votre réponse: ça marche toujours si 'SomeDate' est nullable? et est nul? que voyez-vous si c'est nul, si quoi que ce soit? – VoodooChild

1

Voir here pour de nombreux modèles de la DateTime.ToString() modèles.
Pour votre format spécifique, vous avez besoin de: DateTime.ToString("dd-MMM-yyyy")

+0

merci, je vais le garder pour référence. – VoodooChild