正线等待,一个日期转换问题,送分??? ( 积分: 30 )

  • 主题发起人 主题发起人 xyunyes
  • 开始时间 开始时间
X

xyunyes

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么把这个Wed,16 Feb 2005 17:01:13.000126 EST日期转化成2005-02-16 17:01:13
这种格式。
 
怎么把这个Wed,16 Feb 2005 17:01:13.000126 EST日期转化成2005-02-16 17:01:13
这种格式。
 
年 = Copy(s, 13, 4);
月 = Copy(s, 9, 3)
...
日 = Copy(s, 6, 2)

时间 = Copy(s, 18, 8);
...
 
formatdatetime
 
formatdatetime我测试过了,不行
 
使用格式串: Wed,16 Feb 2005 17:01:13.000126 EST
dd-mm-yyyy hh:nn:ss

函数的实现在我的笔记里面有
 
procedure TForm1.Button1Click(Sender: TObject);
Const
MyDateFormat = 'ddd, dd mmm yyyy hh:mm:ss';
sDate = 'Wed, 16 Feb 2005 17:01:13';
MonName : Array[1..12] Of String = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
WeekName : Array[1..7] Of String = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
Var
sTmp : String;
iYear, iMonth, iDay : Integer;
i : Integer;
d : TDatetime;
begin
iYear := StrToInt(Copy(sDate, 13, 4));
sTmp := Copy(sDate, 9, 3);
For iMonth := 1 To 12 Do
begin
if Copy(sDate, 9, 3)=MonName[iMonth] then
break;
end;
iDay := StrToInt(Copy(sDate, 6, 2));
//Edit1.Text := Format('%4d-%02d-%02d %s', [iYear, iMonth, iDay, Copy(sDate, 18, 8)]);
d := StrToDateTime(Format('%4d-%02d-%02d %s', [iYear, iMonth, iDay, Copy(sDate, 18, 8)]));
Edit1.Text := FormatDatetime('YYYY-MM-DD HH:NN:SS', d);
end;
 
用函数,字符串格式,赞同lich的说法。
 
后退
顶部