首页 > 解决方案 > 如何在 DatePicker 中显示我将字符串转换为日期时间的日期

问题描述

我收到一个带有以下格式的字符串日期的 JSON:

“22/03/2019”

日期

我怎样才能在 a 中显示它<DatePicker>?我是否必须将其解析为 Datetime 属性?还是没有必要?我得到这个结果:

日期选择器

我正在尝试通过以下方式操纵日期...

 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>

标签: c#datetimexamarinxamarin.formsdatepicker

解决方案


利用DateTime.Parse

var date = DateTime.Parse(stringValue);

或者

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

同时从您的视图中删除该StringFormat属性


推荐阅读