关于日期转换的问题(100分)

  • 主题发起人 主题发起人 Alden Zhou
  • 开始时间 开始时间
A

Alden Zhou

Unregistered / Unconfirmed
GUEST, unregistred user!
能否将“Tue, 23 May 2000 03:58:40 -0400”
转换成 “2000-5-23 03:58:40”?
DELPHI中有没有现成的函数呢?
 
FormatDateTime
 
用FormatDateTime,你试过吗?
如果真的可行,麻烦详细说明一下好吗?
我到是试过了,不过不成功!
 
StrToDate
StrToTime
StrToDateTime
FormatDateTime
 
>>能否将“Tue, 23 May 2000 03:58:40 -0400”
>>转换成 “2000-5-23 03:58:40”?

Delphi根本就没有转换这种格式的函数,需要自己处理
其实处理较简单,月份字串"May"可以定义一个TMonth数组
或枚举子界类型,包含12个月的值,从源字串取出'May'进行
比较判断转换成数字,其它都可用copy,pos
 
自己写个函数完成此功能也不难吧
 
formatdatetime('yyyy-mm-dd hh:nn:ss', date);
 
可以在sql server里转换:
datepart(year,getdate())+"-"+datepart(month,getdate())+"-"+datepart(day,getdate())+" "+datepart(hour,getdate())+":"+datepart(minute,getdate())+":"+datepart(second,getdate())
 
试试formatdatetime('yyyy-mm-dd hh:nn:ss', date);
 
为什么不换一个角度考虑,
>>“Tue, 23 May 2000 03:58:40 -0400”
这个字符串是怎么得来的?
 
DecodeDate(Date: TDateTime; var Year, Month, Day: Word);
DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word);
inttostr(year)+'-'+inttostr(month)+'-'+inttostr(day)=>2000-6-9
timetostr(time)=>19:25:45
 
有意识,应该多动脑
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
913
SUNSTONE的Delphi笔记
S
后退
顶部