在Lazarus Pascal中将字符串转换为日期

在Lazarus Pascal中将字符串转换为日期,pascal,Pascal,我是一个新的Pascal编程新手,我花了一整天的时间试图将字符串转换为一个有效的日期,我可以用它减去另一个日期,以发现两个日期之间的天数。你能帮帮我吗 我从这段代码开始尝试将以字符串格式输入的第一个日期转换为可以在计算中使用的日期: program TryDate; Var date1: TDateTime; thedate:string; Begin Writeln ('Enter date'); Readln (thedate); date1:=StrToDate (thedate);

我是一个新的Pascal编程新手,我花了一整天的时间试图将字符串转换为一个有效的日期,我可以用它减去另一个日期,以发现两个日期之间的天数。你能帮帮我吗

我从这段代码开始尝试将以字符串格式输入的第一个日期转换为可以在计算中使用的日期:

program TryDate;

Var
date1: TDateTime;
thedate:string;

Begin
Writeln ('Enter date');
Readln (thedate);
date1:=StrToDate (thedate);
Writeln ('The date is ',date1);
end.


The program's basic structure can be seen here:

Begin
Writeln ('Enter customer last name');
readln (clname);
Writeln ('Enter customer first name');
readln (cfname);
Writeln ('Enter Dvd Title');
readln (dvdtit);
Writeln ('Enter Due Date');
readln (dued);
Writeln ('Enter Actual Date Returned');
readln (adret);
daysover:=adret-dued;
readln;
end. 
我希望进一步扩展程序,但在尝试其他组件之前,我试图让这个小部件工作


非常感谢您提供简单的说明、示例或可能的解决方案。

您还没有指定到目前为止代码的问题所在。我能看到的唯一问题是,如果您的实际代码与您发布的代码完全相同,那么您没有指定
使用sysutils,如下所示:

program TryDate;

uses
  sysutils;

Var
  date1: TDateTime;
  thedate: string;

Begin
  Writeln ('Enter date');
  Readln (thedate);
  date1 := StrToDate (thedate);
  Writeln ('The date is ',date1);
end.
程序TryDate;
使用
sysutils;
变量
日期1:TDateTime;
日期:字符串;
开始
Writeln(“输入日期”);
Readln(日期);
日期1:=标准日期(日期);
书面形式(“日期为”,日期1);
结束。

strotdate
函数是
sysutils
单元的一部分,您需要通过
uses
将其包含在程序中,以便能够使用其过程、函数、类型等。

您尚未指定到目前为止代码的问题是什么。我能看到的唯一问题是,如果您的实际代码与您发布的代码完全相同,那么您没有指定
使用sysutils,如下所示:

program TryDate;

uses
  sysutils;

Var
  date1: TDateTime;
  thedate: string;

Begin
  Writeln ('Enter date');
  Readln (thedate);
  date1 := StrToDate (thedate);
  Writeln ('The date is ',date1);
end.
程序TryDate;
使用
sysutils;
变量
日期1:TDateTime;
日期:字符串;
开始
Writeln(“输入日期”);
Readln(日期);
日期1:=标准日期(日期);
书面形式(“日期为”,日期1);
结束。

strodate
函数是
sysutils
单元的一部分,您需要通过
uses
将其包含在程序中,以便能够使用其过程、函数、类型等。

除了Andriy之外,您也不提供操作系统信息或输入日期的格式

这一点很重要,因为在*nix上,您必须将clocale添加到USES子句中,以初始化区域设置系统,其中还包括首选日期格式


对于真正可怕的东西,有一个函数scandatetime可以解析大多数自定义创建的日期:

除了Andriy,您还不提供操作系统信息,也不提供输入日期的格式

这一点很重要,因为在*nix上,您必须将clocale添加到USES子句中,以初始化区域设置系统,其中还包括首选日期格式

对于真正可怕的东西,有一个函数scandatetime可以解析大多数自定义创建的日期:

scandatetime()
就是我要找的:D
scandatetime()
就是我要找的:D