我有两个DateTimePickers,一个叫FechaEntrada
,另一个叫FechaSalida
。
我希望每次用户选择日期时都将FechaEntrada.Value
设置为"whatever_date_the_user_picked 00:00:00"
,将FechaSalida.Value
设置为"whatever_date_the_user_picked 23:59:59"
。
我需要比较dtpickers的两个值,以便可以使用这两个日期之间选择的值填充数据库的DatagridView。
在我的Windows窗体中,用户无法选择小时,仅选择日期。我怎样才能做到这一点?看起来很简单,但是我找不到任何解决方案。
答案 0 :(得分:1)
进行设置,以便用户仅看到/选择一个日期:
FechaEntrada.Format = DateTimePickerFormat.Custom;
FechaEntrada.CustomFormat = "yyyy-MM-dd"; //or whatever date you want
FechaSalida.Format = DateTimePickerFormat.Custom;
FechaSalida.CustomFormat = "yyyy-MM-dd"; //or whatever date you want
要获取日期时:
FechaEntrada.Value.Date; //"whatever_date_the_user_picked 00:00:00"
FechaSalida.Value.Date.AddDays(1).AddSeconds(-1); //"whatever_date_the_user_picked 23:59:59".
DateTimePicker.Value
返回一个DateTime
致电DateTime.Date
给出的日期是午夜00:00:00(仍然是日期时间)-https://docs.microsoft.com/en-us/dotnet/api/system.datetime.date?view=netframework-4.8
呼叫AddDays(1)
和AddSeconds(-1)
将使日期向前滚动一天,向后滚动一秒钟,因此:
01-Jan-2000 12:34:56
01-Jan-2000 00:00:00 //.Date
02-Jan-2000 00:00:00 //.AddDays(1)
01-Jan-2000 23:59:59 //.AddSeconds(-1)
这就是萨利达(Salida)时间的变化。