delphi 如何将字符串转换成时间

delphi 如何将字符串转换成时间,第1张

如果字符串格式是固定的,可以考虑从中取出,年、月、日、时、分、秒,再用function EncodeDateTime(const AYear, AMonth, ADay, AHour, AMinute, ASecond, AMilliSecond: Word):TDateTime;

来生成。

如果你的电脑日期时间格式和你的字符串格式一致,就可以用StrToDatetime直接转,但不一致的话就会出错。

日期转换成字符串 有个函数可以帮你解决: FormatDateTime():string,他有两个参数,第一个是时间(TDateTime型),第二个是你要转换的格式(例如'yyyyMMdd hh:mm:ss')

举例:拿系统的Now这个时间来说

S := FormatDateTime(Now, 'hh:mm:ss'); 就可以将TDateTime型转换成string型了,但是有个条件,第一个参数必须是'yyyy/MM/dd'这样的格式,如果没有'/'会发生错误

2008-3-22转换为"20080322"可以用StringReplace('2008-3-22', '-', '', [rfReplaceAll]);和AnsiReplaceStr('2008-3-22', '-', '');//这个需要引用strUtils单元

一般用Now函数

procedure TForm1Button1Click(Sender: TObject);

begin

Label1Caption := TimeToStr(Now); //时间

Label2Caption := DateToStr(Now); //日期

Label3Caption := DateTimeToStr(Now); //日期+时间

end;

其他一些有用的时间函数

use DateUtils;(此单元里有许多关于时间的函数)。我今天就只看了这么多了,还有许多读自己去看吧。

里面有太多的关于时间的函数了,如:输入一个时间,可以提取date或time部分,此月有多少天,比较两个时间的’大小’,…自己看帮助。

function CompareDate(const A, B: TDateTime): TValueRelationship;比较A,B日期哪个时间先发生?还是同时发生?

function CompareDateTime(const A, B: TDateTime): TValueRelationship

function DaysBetween(const ANow, AThen: TDateTime): Integer;两时间相隔多少天?

function DaysInAMonth(const AYear, AMonth: Word): Word;某年某月有多少天

function DaysInAYear(const AYear: Word): Word;某年有多少天。

function DaysInMonth(const AValue: TDateTime): Word;某月有多少天

procedure DecodeDateMonthWeek(const AValue: TDateTime; out AYear, AMonth, AWeekOfMonth, ADayOfWeek: Word);对应out参数:哪年,哪月,此月的第几周,是周几。

function EncodeDateDay(const AYear, ADayOfYear: Word): TDateTime;输入某年,此年第几天,out得到此天日期。

DayOfWeek(TDateTime)某个时间是星期几?

DayOfTheYear(TDateTime)一年的第几天。

function DayOfTheMonth(const AValue: TDateTime): Word;第几天of the Month

function DateOf(const AValue: TDateTime): TDateTime;提取时间部分

这个方法可以完成你的要求。用法可见帮助示例。

procedure DecodeDateTime(const AValue: TDateTime; out AYear, AMonth, ADay,

AHour, AMinute, ASecond, AMilliSecond: Word); (注它必须引用DateUtils单元);

它把时间的各个部分都分离出来了。与之对应的函数为:

function EncodeDateTime(const AYear, AMonth, ADay, AHour, AMinute, ASecond, AMilliSecond: Word):TDateTime;

function IncMinute (const AValue: TDateTime; const ANumberOfMinute: Int64 = 1): TDateTime;

例:IncMinute(now,N);增加N分钟在NOW的基础上。可以为负。

在Delphi中有一个函数now(),就是用于取得当前时间的,包含时、分、秒。

在窗体上放置一个TEdit控件,用来显示时间,再放置一个TTimer控件,用来更新时间。

将TTimer的Interval属性设置为100,并添加代码:

procedure TForm1Timer1Timer(Sender: TObject);

begin

edit1Text:=TimeToStr(now());

end;

运行后,窗体上就是实时显示最新时间了。

//FormatDateTime中mm代表的是月份,取分钟请用nn

uses DateUtils;

var

date :TDateTime;

begin

date := Now;

edit1Text := FormatDateTime('yyyymmddhhnnss', date);

Edit2Text := FormatDateTime('yyyymmddhhnnss', IncMinute(date, -10));

end;

以上就是关于delphi 如何将字符串转换成时间全部的内容,包括:delphi 如何将字符串转换成时间、Delphi中如何将日期和时间转换为字符串型、Delphi中提取系统时间的函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10097979.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存