delphi ----日期控件运用,日期问题,日期时间比较

一、日期控件

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 - 对比时间的函数

原文地址:https://www.cnblogs.com/jijm123/p/14069816.html