一、日期控件
1、DateTimePicker
1)只显示年月
DateMode:dmUpDown
format:yyyy-MM
2)将DateTimePicker的Format属性中加入日期格式设成 'yyyy-MM-dd HH:mm',注意大小写 ,
将kind设置为dtkTime即可,可以在每次Form onShow时将DateTimePicker1.DateTime := Now
2、TDBDateTimeEditEh
1)数据库增加修改操作:'''+FormatDateTime('YYYY-MM-DD',edt_date_own.Value)+'''
二、日期问题
1、用户本地时间格式为,YYYY/MM/DD,代码中存入格式为YYYY-MM-DD
处理方法:放在最开始中: Application.Initialize;后面。一开始就处理
SetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SSHORTDATE, 'yyyy-MM-dd');
SetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_STIME, 'HH:mm:ss');
解释:https://www.cnblogs.com/findumars/p/5061979.html
SetLocaleInfo:此函数用于设置系统的一些本地信息, 非常有用.
两个函数的参数很类似,其中 Locale可以取两个值:
1)LOCALE_SYSTEM_DEFAULT,表示要操作的是系统默认的设置;
2)LOCALE_USER_DEFAULT,表示要操作的是当前用户的设置。还可以取其他值,用于具体修改某种语言区域的设置。
一般取 LOCALE_USER_DEFAULT。
LCType,表示要操作信息的类型,也就是要操作的是哪一种设置。可用的值有很多,Delphi的联机帮助,或者查MSDN,都有一个大列表。但跟日期时间格式相关的一共有这几个:
1)LOCALE_SSHORTDATE :短日期格式
2)LOCALE_SLONGDATE :长日期格式
3)LOCALE_STIMEFORMAT:时间格式
4)另外 LOCALE_STIME 表示时间分隔符
5)LOCALE_SDATE 表示日期分隔符。可以单独使用,也可以在使用 LOCALE_SSHORTDATE 和 LOCALE_STIMEFORMAT 的同时一并修改,所以不需要单独操作。
使用GetLocaleInfo或SetLocaleInfo时,每次只能操作一个类型。比如要同时设置短日期格式、长日期格式、时间格式,就必须分别用三个类型代号调用三次 SetLocaleInfo。
三、日期时间比较
CompareDateTime、CompareDate、CompareTime、SameDateTime、SameDate、SameTime - 对比时间的函数