`
ivfh
  • 浏览: 58633 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

delphi用于时间操作的函数 (2)

阅读更多
TDateTime类型与字符串型转换函数:
DateTimeToStr 函数:
DateToStr 函数
TimeToStr函数
定义:function DateTimeToStr(DateTime: TDateTime): string;
      function TimeToStr(Time: TDateTime): string;
function TimeToStr(Time: TDateTime): string;
作用:将一个TDateTime类型的数转换成字符串,DateTimeToStr转换日期和时间,DateToStr只转换日期,TimeToStr只转换时间。转换后的输出效果为YYYY-M-D H:M:S
StrToDateTime函数
StrToDate函数
StrToTime函数
定义:function StrToDateTime(const S: string): TDateTime;
      function StrToDate(const S: string): TDateTime;
      function StrToTime(const S: string): TDateTime;
作用:将带有日期时间格式的字符串转化成TDateTime,其中S必须是一个有效的字符串,如
      YY-MM-DD HH:MM:SS格式,否则就会触发EConvertError事件,提示错误信息。
      时间部分的字符串必须是由2~3个的数值字串构成,并且采用在Windows区域设置中设置的分隔字符进行分隔,其格式要求符合在Windows区域设定中的设定,其中HH,MM(小时,分钟)必须添加,SS(秒)可选,也可以在后面加入 Am和Pm区分上下午,这时候系统将认为采用12小时表示法,否则认为采用24小时表示法。
      日期部分的格式要求符合Windows区域设置中的短日期格式,也是由2~3个的数值字串构成,如果在字符串中只有2个数,则认为是指定了月份和日期,年份采用当前年份,
      如果在区域设置中采用两位年份的表示方法,则系统将会采用以下方法处理:
当前年份 起始年份 基准值 输入年份03 输入年份50 输入年份68
1998 0 1900 1903 1950 1968
2002 0 2000 2003 2050 2068
1998 50 1948 2003 1950 1968
2000 50 1950 2003 1950 1968
2002 50 1952 2003 2050 1968
2020 50 1970 2003 2050 2068
2020 10 2010 2103 2050 2068
      首先在区域设置中取得两位年份的起始年份,如在区域设置中设两位年份范围为1932-2031年,则起始年份为32年,如果这个起始年份为0,则认为两位年份表示的都是本世纪,如果其实年份大于0 ,则采用当前年份减去起始年份的值,这个值称为基准值,大于等于这个值则认为事本世纪,否则认为是下世纪,下面给出几个例子说明:
DateTimeToString 过程:
FormatDateTime 函数:
定义:procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);
       function FormatDateTime(const Format: string; DateTime: TDateTime): string;
作用:通过定义Format字串中的格式得到要输出时间字符串,例如要输出“今天是2002年5月5日,星期五”就可以用这两种方法,这两个方法的作用相同,只是一个是通过共享变量取得输出字符串,值在Result中,一个是通过返回值取得输出字符串,DateTime参数是希望输出的日期值,Format由格式标志与附加字符串组合而成。附加字串用””圈起,就像C中的Printf函数.如“今天是2002年5月5日,星期五”的Format值就是 ‘”今天是”yyyy”年”mm”月”dd”日,” dddd’,yyyy,mm,dd,dddd都是格式标识,各种格式标识的解释如下:
       d      :用一位或两位整数显示日子(1-31)
       dd     :用两位整数显示日子,不足两位的用0补足(01-31)
       ddd    :按缩略方式显示当前的星期号,如果Windows是英文版,则显示为Mon-Sun,如果是中文版,则显示同dddd。
       dddd   :按完整方式显示当前的星期号,如Windows是英文版,则显示Monday-SumDay,如果是中文版,则显示星期一~星期日
       ddddd  :按区域设置中的短日期格式输出。
       dddddd :按区域设置中的长日期格式输出。
       m      :用一位或两位整数显示月份(1-12)
       mm     :用两位整数显示月份,不足两位的用0补足(01-12)
       mmm    :使用缩略方式显示月份名称,英文版显示为Jan-Dec,中文版同mmmm
       mmmm   :使用完整方式显示月份名称,英文版显示为January-December,中文版为一月~十二月
       yy     :按两位整数方式显示年份(00-99)
       yyyy   :按四位整数方式显示年份(0000-9999)
       h      :用一位或两位整数显示小时(0-23)       
hh     :用两位整数显示小时,不足两位的用0补足(00-23)
       n      :用一位或两位整数显示分钟(0-60)       
       nn     :用两位整数显示分钟,不足两位的用0补足(00-60)
       s      :用一位或两位整数显示秒数(0-60)
       ss     :用两位整数显示秒数,不足两位的用0补足(00-60)
       z      :用一位至两位整数显示毫秒数(0-999)
       zzz    :用三位整数显示毫秒数,不足三位的用0补足(000-999)
       tt     :按照区域设置中的格式显示日期
       am/pm  :用于12小时制的显示,带有AM的则表示从0点~12点,pm代表从12点~0点。

与时间相关的变量:
Delphi封装了区域设置的各种信息,并以此定义了一系列的变量,下面介绍与时间相关的部分变量:
DateSeparator :Char
日期分隔符,用于分隔年月日
TimeSeparator :Char
时间分隔符,用于分隔小时,分钟,秒
ShortDateFormat:String
区域设置中短日期格式的定义。
LongDateFormat :String
区域设置中长日期格式的定义。
ShortTimeFormat:String
区域设置中短时间格式的定义。
LongTimeFormat :String
区域设置中长时间格式的定义。
TimeAMString :String
用来表示上午的字符串
TimePMString :String
用来表示下午的字符串
ShortMonthNames:array[1..12] of String;
用于缩略表示月份名称的数组,就是在使用FormatDateTime时显示的mmm标识的字符串
LongMonthNames:array[1..12] of String;
用于完整表示月份名称的数组,就是在使用FormatDateTime时显示的mmmm标识的字符串
ShortDayNames :array[1..7] of String;
用于缩略表示星期名称的数组,就是在使用FormatDateTime时显示的ddd标识的字符串
LongDayNames :array[1..7] of String;
用于完整表示星期名称的数组,就是在使用FormatDateTime时显示的ddd标识的字符串
TwoDigitYearCenturyWindow:Word = 50;
在使用两位年份时的起始年份。
分享到:
评论

相关推荐

    DELPHI Variant变量的使用技巧

    实际上,variant变量中不仅包含了数据还包含有类型信息,并允许一系列运行时间操作,这些操作很方便,但运行速度慢且安全性差。 见例VariTest,它是上面代码的扩展。窗体上有三个编辑框,一对按钮,第一个按钮的...

    delphi EhLib 9.5.012 Full Source 专业版 .rar

    用于绘制操作的PrinterPreview.Canvas.Handle(DrawText,DrawTexteEx等) 并在返回有关以下信息的函数中使用PrinterPreview.Handle 打印机功能(GetDeviceCaps等)。全局功能PrinterPreview 返回默认的...

    window32 API大全 win32编程

    对话框中可包括用于输入正文、滚动正文、从列表中选择列表项等操作的控制。对话框管理和处理来自这些控制的输入,使应用程序可使用这些信息,来完成所要求的命令操作。 通过使用"资源"可以共享很多有用的数据,比如...

    ReportX2表格组件2.0a

    可用于各种开发工具中进行二次开发,支持输入输出RPXE专用文件、XML文本、Excel文件、PDF文件 、Base64文本、HTML文件、TEXT文件,支持报表打印预览、打印设置、打印,支持各种行列操作,支持文本、下拉列表、按钮、...

    在同步代码结束后,使用ReleaseMutex(THandle

    这个函数可以使当前线程在dwMilliseconds指定的时间内睡眠,直到hHandle参数指定的对象进入发信号状态为止。一个互斥对象不再被线程拥有时,它就进入发信号状态。当一个进程要终止时,它就进入发信号状态。...

    ReportX2.2.0.0

    可用于各种开发工具中进行二次开发,支持输入输出RPXE专用文件、XML文本、Excel文件、PDF文件 、Base64文本、HTML文件、TEXT文件,支持报表打印预览、打印设置、打印,支持各种行列操作,支持文本、下拉列表、按钮、...

    彩虹UDA软件狗工具带硬复制工具

    Obj 、 DLL 、 ActiveX 控件提供了操作软件狗的接口函数,您可以直接在应用程序的源代码里加入这些接口函数的调用,来保护您的一个或者多个软件,然后重新编译您的应用程序。 由您来设置应用程序中调用加密接口的...

    ReportX2.7.0.0

    可用于各种开发工具中进行二次开发,支持输入输出RPXE专用文件、XML文本、Excel文件、PDF文件 、Base64文本、HTML文件、TEXT文件,支持报表打印预览、打印设置、打印,支持各种行列操作,支持文本、下拉列表、按钮、...

    基于数据库技术的物业管理信息系统.doc

    用Access 2003作为后数据库操作语言,可用于各种平台的关系数据库系统,它具有功能强、使用 简单、管理方便、运行速度快等优点,很适合于物业管理中的数据库系统;前端开发工 具选用Delphi语言,实现有关界面和代码...

    光盘刻录SDK开发包控件

    专门用于刻录数据、音乐、VCD、SVCD、DVD影碟,支持实时刻录、实时DVD视频光盘录像、加密刻录等强大功能。支持现在市场上的所有光盘,包括CD,DVD,蓝光盘片,支持所有光盘的数据追加刻录,支持多台同时刻录,并且支持...

    java源码包2

    ejbCreate函数用于初始化一个EJB实例 5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,...

    界面开发(c++ 、.net)

    采用XML管理GDI资源(如:图片、字体、颜色等),最大程度将界面与逻辑分开,让程序员有更多的时间去进行软件内部的逻辑处理。SKINSE扩展了非常丰富的API接口,兼容其他界面控件,使界面开发更加灵活、高效。SkinSE只用...

    java源码包---java 源码 大量 实例

    ejbCreate函数用于初始化一个EJB实例 5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,...

    PowerDesigner设计数据库使用规范.docx

    还可以与许多流行的软件开发工具,例如PowerBuilder、Delphi、VB等相配合使系统设计更优化并缩短开发时间。 并不是每个设计都需要用到PD,对于比较大型的项目,它是很好的,对于短平快类型的项目,例如时间要求一周...

    java源码包3

    ejbCreate函数用于初始化一个EJB实例 5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,...

    java源码包4

    ejbCreate函数用于初始化一个EJB实例 5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实...

Global site tag (gtag.js) - Google Analytics