Comment formater la date et l'heure dans XAML dans L'application Xamarin

j'ai mis en place un code XAML ci-dessous.

<Label Text="{Binding Date}"></Label>
<Label Text="{Binding Time}'}"></Label>

je veux résultat comme septembre 12,2014 14: 30 PM.

18
demandé sur famousgarkin 2015-09-28 03:16:46

3 réponses

changez votre code en:

<Label Text="{Binding Date, StringFormat='{0:MMMM dd, yyyy}'}"></Label>
<Label Text="{Binding Time, StringFormat='{}{0:hh\:mm}'}"></Label>
51
répondu user1 2017-09-13 07:34:30

Faire un personnalisé IValueConverter mise en œuvre:

public class DatetimeToStringConverter : IValueConverter
{
    #region IValueConverter implementation

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if (value == null)
            return string.Empty;

        var datetime = (DateTime)value;
        //put your custom formatting here
        return datetime.ToLocalTime().ToString("g");
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException(); 
    }

    #endregion
}

Puis l'utiliser comme ça:

<ResourceDictionary>
    <local:DatetimeToStringConverter x:Key="cnvDateTimeConverter"></local:DatetimeToStringConverter>
</ResourceDictionary>

...

<Label Text="{Binding Date, Converter={StaticResource cnvDateTimeConverter}}"></Label>
<Label Text="{Binding Time, Converter={StaticResource cnvDateTimeConverter}}"></Label>
7
répondu Daniel Luberda 2015-09-28 22:25:54

Utilisez la norme .NET Date Format les prescripteurs.

Pour obtenir de l'

12 septembre 2014 14: 30 PM

utilisez quelque chose comme

MMMM d, yyyy h:mm tt
5
répondu Jason 2015-09-28 00:31:30