linux pascal语言,Delphi - Ubuntu 中的编程语言_Linux编程_Linux公社-Linux系统门户网站...
Delphi
Delphi 语言在2010年6月编程语言排行榜中排名第十位。下面就是 GregorianTest2.pas 程序:
Program GregorianTest2;
Uses sysutils;
var
t: TTimeStamp;
procedure WriteLine(t: TTimeStamp);
begin
Write(FormatDateTime('ddd yyyy-mm-dd', TimeStampToDateTime(t)));
Writeln(' days past 0001-01-01: ', t.Date);
end;
Begin
t := DateTimeToTimeStamp(EnCodeDate(1, 1, 1));
WriteLine(t);
t := DateTimeToTimeStamp(EnCodeDate(1582, 10, 4));
WriteLine(t);
t.Date := t.Date + 1;
WriteLine(t);
t := DateTimeToTimeStamp(Now);
WriteLine(t);
t.Date := t.Date + 1;
WriteLine(t);
End.
安装兼容 Delphi 的 Free Pascal,编译和运行:
ben@ben-1520:~/work$ sudo apt-get install fp-compiler
ben@ben-1520:~/work$ fpc GregorianTest2.pas
Free Pascal Compiler version 2.4.0-2 [2010/03/06] for x86_64
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling GregorianTest2.pas
Linking GregorianTest2
/usr/bin/ld: warning: link.res contains output sections; did you forget -T?
22 lines compiled, 0.4 sec
ben@ben-1520:~/work$ ./GregorianTest2
Sat 0001-01-01 days past 0001-01-01: 1
Sat 1582-10-04 days past 0001-01-01: 577725
Fri 1582-10-05 days past 0001-01-01: 577726
Wed 2010-06-16 days past 0001-01-01: 733939
Thu 2010-06-17 days past 0001-01-01: 733940
ben@ben-1520:~/work$
非常奇怪,Free Pascal 的 Date/Time routines 居然认为1582年10月4日是星期六,既不是正确的星期四,也不是把格里历外推到1582年10月15日之前而得到的星期一。而且更奇怪的是,它认为1582年10月4日星期六的下一天是1582年10月5日星期五,从星期六倒退回星期五了。如果有哪位朋友知道这是什么原因,请在评论中告诉我。谢谢!
更多推荐
所有评论(0)