c# - 每次用户选择日期时,如何在 DateTimePicker 中设置默认小时?
问题描述
我有两个 DateTimePickers,一个是命名FechaEntrada
的,另一个是FechaSalida
.
每次用户选择日期时,我都想设置FechaEntrada.Value
为"whatever_date_the_user_picked 00:00:00"
和。FechaSalida.Value
"whatever_date_the_user_picked 23:59:59"
我需要比较 dtpickers 中的两个值,以便我可以使用在这两个日期之间选择的值填充 DataBase 中的 DatagridView。
在我的 Windows 窗体中,用户不能选择小时,只能选择日期。我怎样才能做到这一点?这看起来很简单,但我在任何地方都找不到解决方案。
解决方案
让它让用户只看到/选择一个日期:
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.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的时间变化。
推荐阅读
- git - 从现有的本地 repo 设置新的 repo(以前有远程 repo,但后来被删除)
- javascript - 是否可以在对象中单击时创建事件 - Vue JS
- java - 无法安装应用程序:INSTALL_FAILED_USER_RESTRICTED
- python - Python Dataframe - 在除第一次出现的日期外删除重复的 TRUE
- bash - Shell 脚本 - 基于“时间戳”属性对“AWS cloudwatch 指标”json 数组进行排序,原始输出包括统计信息
- r - 从 R 中的列中删除字符串
- python - Alnum + 空间?Python
- javascript - Bootstrap flex 不会在打印时显示所有 svg
- android - ActivityNotFound 异常
- javascript - 在 Google Apps 中使用 HtmlService 表单上传文件总是会导致“服务器错误”和堆栈跟踪