Delphi中分解时间:DecodeDate、DecodeTime ... DecodeDateTime函数

SysUtils.DecodeDate();
SysUtils.DecodeDateFully();
SysUtils.DecodeTime();

DateUtils.DecodeDateTime();
DateUtils.DecodeDateDay();
DateUtils.DecodeDateWeek();
DateUtils.DecodeDateMonthWeek();
DateUtils.DecodeDayOfWeekInMonth();

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
  procedure FormCreate(Sender: TObject);
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

uses DateUtils;

procedure TForm1.FormCreate(Sender: TObject);
var
 t: TDateTime;
 Year, Month, Day, Week: Word;
 Hour, Min, Sec, MSec: Word;
begin
 t := EncodeDateTime(2009, 5, 21, 11, 22, 33, 999);

 DecodeDate(t, Year, Month, Day);
 ShowMessageFmt('%d,%d,%d', [Year, Month, Day]); //2009,5,21

 DecodeDateFully(t, Year, Month, Day, Week);
  ShowMessageFmt('%d,%d,%d,%d', [Year, Month, Day, Week]); //2009,5,21,5; 最后的 5 表示周四

 DecodeTime(t, Hour, Min, Sec, MSec);
 ShowMessageFmt('%d,%d,%d,%d', [Hour, Min, Sec, MSec]); //11,22,33,999

 DecodeDateTime(t, Year, Month, Day, Hour, Min, Sec, MSec);
 ShowMessageFmt('%d,%d,%d,%d,%d,%d,%d', [Year, Month, Day, Hour, Min, Sec, MSec]); //2009,5,21,11,22,33,999

 DecodeDateDay(t, Year, Day);
 ShowMessageFmt('%d,%d', [Year, Day]); //2009,141; 2009 年第 141 天

 DecodeDateWeek(t, Year, Week, Day);
 ShowMessageFmt('%d,%d,%d', [Year, Week, Day]); //2009,21,4; 2009 年第 21 周, 周 4

 DecodeDateMonthWeek(t, Year, Month, Week, Day);
 ShowMessageFmt('%d,%d,%d,%d', [Year, Month, Week, Day]); //2009,5,3,4; 2009 年 5 月的第 3 周, 周 4

 DecodeDayOfWeekInMonth(t, Year, Month, Week, Day);
 ShowMessageFmt('%d,%d,%d,%d', [Year, Month, Week, Day]); //2009,5,3,4
end;

end.

时间: 2024-10-29 17:35:37

Delphi中分解时间:DecodeDate、DecodeTime ... DecodeDateTime函数的相关文章

Delphi中优秀的字符串分割函数

Delphi没有自己的字符串分割函数,所以只能程序员自己写了,网上搜了好多但是真正好用的没有几个. 下面这个是我在网上找到修改后了的,个人感觉算法不错,所以就贴了上来. function SplitString(Source, Deli: string ): TStringList;stdcall; var EndOfCurrentString: byte; StringList:TStringList; begin StringList:=TStringList.Create; while P

Delphi中用于建立快捷方式的函数: CreateShortcut

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; procedure Button1Click(Sender:

DELPHI中利用API函数实现多态FORM

实现异型FORM并不是一件难事,本文将向您介绍如何利用API函数实现圆角矩 形和椭圆形FORM,并在此基础之上探讨实现TWINcontrol类的后裔的异型的实现 . 欲改变FORM的形状,也就是实现对区域(region)的控制.在Win32 API程序 参考手册有关区域(region)的定义是这样描述的:它可以是一个矩形,多边形 ,椭圆形(或者是两者的复合,或者是更多的形状),这些都可以被填充,画图 ,翻转,结构化并可以得到焦点执行. 由定义得出结论:区域(region)是可以被改变和操纵的,依

Delphi中的SendKeys函数

用过Visual Basic等编程语言的朋友们一定对其SendKeys函数非常熟悉.利用该函数可以把一个字符串发送到目标窗口(比如记事本)或控件(比如一个Edit控件)中,就好像是在目标窗口或控件中输入这个字符串一样. 但是,在Delphi中却没有为我们提供这样的函数.其实,Borland的工程师们早就提供了一个方便的方法:在Delphi5.0企业版的安装盘的\info\Extras\SendKeys\文件夹中,有一个sndKey32.Pas文件, 只需把该文件复制到Delphi的安装目录下\L

delphi中move()函数用c#如何写

问题描述 delphi中move()函数用c#如何写,请各位帮忙看下 解决方案 解决方案二:请大家赶快瞅瞅,谢谢,急!解决方案三:Marshal.Copy 解决方案四:谢谢!解决方案五:能不能举个例子?谢谢

Delphi中判断文件是否为文本文件的函数_Delphi

在自己编写文本文件读取函数的时候,你首先会遇到的第一个问题就是:对于给定的一个文件名,怎么知道它所代表磁盘文件的确是文本文件?这里有一个很简单的方法:把给定的那个文件看作是无类型的二进制文件,然后顺序地读出这个文件的每一个字节,如果文件里有一个字节的值等于0,那么这个文件就不是文本文件:反之,如果这个文件中没有一个字节的值是0的话,就可以判定这个文件是文本文件了.这是原理,下面看看在Delphi 中怎样编程来实现它-- 复制代码 代码如下: function IsTextFile(FileNam

Delphi类的入门例子(8): 遍历窗体中所有控件的函数

//显示窗体中所有控件的函数 function GetCtrls(Control: TWinControl; List: TStringList): Boolean; var i: Integer; obj: TWinControl; begin for i := 0 to Control.ControlCount-1 do begin obj := TWinControl(Control.Controls[i]); List.Add(obj.Name); //如果控件中包含其他控件, 则递归调

在Delphi中调用.Net编写的DLL中的函数

最近因公司群发邮件程式需要给注册一段时间没有激活的用户发激活邮件,邮件中有注册密码 需要还原发给用户 但由于密码加密是用C# 中的TripleDES完成,手头上又没有现成Delphi的实现.时间紧急,现翻译是来不及了,于是经过查资料反复实施 终于成功实现在Delphi中调用 C# 封装的DLL中的方法(Function)和过程(Procedure)现把实施步骤写下,以供有需要的XDJM分享: 1.建立:DotNetFunc.cs 封装要使用的Function.Procedure. 2.生成密钥文

Delphi中对时间操作方法汇总_Delphi

一般来说在delphi中用于描述时间的有几种数据结构,而对时间的操作,实质上就是对这些结构的操作. TDateTime类型: Delphi中最常用的表示日期时间的数据类型TDateTime类型,和普通的整形数一样,你可以给日期定义一个日期型变量以便在程序中进行操作.TdateTime类型实质上是一个Double型的数,在Delphi中是这样定义TdateTime类型: type TDateTime = type Double ,具体的算法是用Double数的整数部分表示日期,以1989年12月3