Как показать дату в DatePicker, что я получаю строку для datetime - PullRequest
0 голосов
/ 22 марта 2019

Я получаю JSON со строковой датой в следующем формате:

"22/03/2019"

date

как я могу показать это в <DatePicker>? Нужно ли анализировать это свойство Datetime? или это не обязательно? Я получаю этот результат:

DatePicker

Я пытаюсь манипулировать датой следующим образом ...

 string fecha;
 DateTime fechaFormateada;

 public string Fecha
        {
            get
            {
                return fecha;
            }
            set
            {
                if (fecha != value)
                {
                    fecha = value;
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Fecha)));
                }
            }
        }

        public DateTime FechaFormateada
        {
            get
            {
                return fechaFormateada;
            }
            set
            {
                if (fechaFormateada != value)
                {
                    fechaFormateada = value;
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(FechaFormateada)));
                }
            }
        }

Теперь я получаю объект Json и форматирую его

  public  DetalleSolicitudRetiroViewModel(Solicitudes solicitudes)
  {

            ObjetoSolicitudes = solicitudes;

            Fecha = ObjetoSolicitudes.Fecha.Replace("/","-");
            FechaFormateada = Convert.ToDateTime(Fecha);          

   }

чтобы, наконец, показать это следующим образом, на мой взгляд ....

 <DatePicker  
             Margin="9,0"
             Date="{Binding FechaFormateada, StringFormat='{0:dd MMMM yyyy}'} }"
             HorizontalOptions="FillAndExpand">
 </DatePicker>

1 Ответ

1 голос
/ 22 марта 2019

использование DateTime.Parse

var date = DateTime.Parse(stringValue);

или

var date = DateTime.ParseExact(stringValue, "dd/MM/yyyy", CultureInfo.InvariantCulture);

Также удалите атрибут StringFormat из вида

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...