显示当前日期问题?
//添加记录至借阅信息
str:='insert into 借阅信息(会员编号,店内编号,借出日期,是否归还) ';
str:=str+'values('+format('%0.10d',[strtoint(rennu)])+',';
str:=str+format('%0.10d',[strtoint(booksh)])+',';
str:=str+formatdatetime('yyyy-mm-dd',now)+','; //这一行
str:=str+''''+'否'+''''+')';
adocommand1.CommandText :=str;
adocommand1.Execute;
为什么用以上语句输入数据库的是1905-6-19
windows XP 系统当前时间为2003-2-04
问题点数:20、回复次数:17Top
1 楼chenr21c(飞榕)回复于 2003-02-04 00:35:42 得分 1
我不知道为什么,但是Win98下可以用这种方式:Str:=str+DateToStr(Date(Now))加入当前日期,试试:)Top
2 楼grail_(grail_)回复于 2003-02-04 01:51:12 得分 5
用函数Date
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
myDateTime : TDateTime;
begin
MyDateTime := Date;
Showmessage(DateToStr(MyDateTime));
end;
end.Top
3 楼zdt2405(阿剑)回复于 2003-02-04 13:36:08 得分 0
榕榕的方法报错,too many actual parameters
grail_(grail_) 的方法显示的是1899-12-30
我快要崩溃了,谁来救救我!!!!!!!!!!!!!Top
4 楼cupidvenus(小鱼儿)回复于 2003-02-04 13:45:55 得分 1
DateToStr(Date())
TimeToStr(Time())Top
5 楼UranusVan(乌拉诺斯)回复于 2003-02-04 14:39:33 得分 1
oracle的插如当前日期是用
TO_DATE('sysdate(string)','yyyy-mm-dd hh:mi:ss')函数
(to_date('date','yyyy-mm-dd')
or to_date('time','hh:mi:ss'));
ACCESS最好就直接在数据库中定义该字段类型为文本型!
sql server没有插过,但是好象不能直接对日期或者时间进行筛选!Top
6 楼bluespy(自古英雄出我辈, 一入江湖岁月催!)回复于 2003-02-04 15:27:26 得分 1
1899-12-30是delphi里的'0'
int(date); //获取系统日期 edit1.Text :=datetimetostr(int(date));
int(now); //获取系统日期和时间Top
7 楼bluenightsky()回复于 2003-02-04 17:28:14 得分 1
edit1.text:=datetimetostr(NOW);Top
8 楼chatop(星点)回复于 2003-02-04 17:40:23 得分 0
千年虫??
Top
9 楼zdt2405(阿剑)回复于 2003-02-04 18:42:03 得分 0
int(date)可不可以用别的格式显示,用这个输到数据库,delphi自动
把2003-02-04变成1997了,它自己给减了,我疯了!!!!!!!Top
10 楼dgf09(德哥)回复于 2003-02-04 19:03:58 得分 0
cupidvenus(小鱼儿) 的DateToStr(Date) 應該可以試試!!Top
11 楼grail_(grail_)回复于 2003-02-04 19:20:38 得分 0
不对呀
我这没问题呀!
:)
你用别的系统在看看Top
12 楼yfdwlll(CREATE)回复于 2003-02-04 19:36:32 得分 0
xp好神奇啊
Top
13 楼zdt2405(阿剑)回复于 2003-02-04 20:49:45 得分 0
显示是没问题,就是写到数据库,delphi自动
把2003-02-04变成1997了,它自己给减了Top
14 楼grail_(grail_)回复于 2003-02-04 21:26:43 得分 0
o
看看别的数据库
有没有问题呀!
不行就找规律加吧Top
15 楼pilicat(Delphi迷)回复于 2003-02-04 21:35:11 得分 10
改成这样:
str:='insert into 借阅信息(会员编号,店内编号,借出日期,是否归还) ';
str:=str+'values('+format('%0.10d',[strtoint(rennu)])+',';
str:=str+format('%0.10d',[strtoint(booksh)])+',';
str:=str+''''; //加入前引号
str:=str+formatdatetime('yyyy-mm-dd',now);
str:=str+''''; //加入后引号,即用引号将时间括起来
str:=str+',';
str:=str+''''+'否'+''''+')';
adocommand1.CommandText :=str;
adocommand1.Execute;
Top
16 楼tmzjn(天道无极)回复于 2003-02-04 21:41:16 得分 0
根据你使用的数据库的类型,使用数据库的字符串-日期转换函数将字符串转换成日期,推荐使用CAST函数,基本每个数据库都支持。Top
17 楼zdt2405(阿剑)回复于 2003-02-04 21:43:01 得分 0
谢谢大家,问题解决了!!!!!
Top




