StartprogrammingusingObjectPascal:DateTimeComparison: Difference between revisions

From 흡혈양파의 번역工房
Jump to navigation Jump to search
(SPOP 날짜/시간비교하기 페이지 추가)
 
(오류수정)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
===날짜/시간 비교하기===
==날짜/시간 비교하기==


실수를 비교하는 것과 마찬가지로 두개의 날짜/시간 변수를 비교할 수 있습니다. 예를 들어 실수에서 9.3은 5.1보다 크며 ''TDateTime'' 값에 대해서도 마찬가지 입니다. 내일을 나타내는 Now + 1은 오늘(Now) 보다는 크며, 한 시간 이후를 나타내는 Now + 1/24도 역시 지금으로부터 두 시간 전을 나타내는 Now-2/24 보다 큽니다.
실수를 비교하는 것과 마찬가지로 두개의 날짜/시간 변수를 비교할 수 있습니다. 예를 들어 실수에서 9.3은 5.1보다 크며 ''TDateTime'' 값에 대해서도 마찬가지 입니다. 내일을 나타내는 Now + 1은 오늘(Now) 보다는 크며, 한 시간 이후를 나타내는 Now + 1/24도 역시 지금으로부터 두 시간 전을 나타내는 Now-2/24 보다 큽니다.
Line 19: Line 19:
</syntaxhighlight>
</syntaxhighlight>


이 예제에 해당 날짜로부터 얼마나 남았는지/지났는지 표시하는 새로운 함수를 넣을 수 있습니다.
 
이 예제에 해당 날짜로부터 얼마나 남았는지 또는 지났는지 표시하는 새로운 함수를 넣을 수 있습니다.
 
<syntaxhighlight lang="pascal">
<syntaxhighlight lang="pascal">
var
var
Line 26: Line 28:
begin
begin
     Year2012:= EncodeDate(2012, 1, 1);
     Year2012:= EncodeDate(2012, 1, 1);
     Diff:= Abs(Now Year2012);
     Diff:= Abs(Now - Year2012);


     if Now < Year2012 then
     if Now < Year2012 then
Line 38: Line 40:
end.
end.
</syntaxhighlight>
</syntaxhighlight>
''Diff''는 현재 날짜와 2012년 날짜 사이의 차이를 가질 실수 변수입니다. 숫자의 절대 값(음의 부호가 없는 숫자)을 되돌려주는 ''Abs'' 함수도 사용하였습니다.
 
 
'''''Diff'''''는 현재 날짜와 2012년 날짜 사이의 차이를 가질 실수 변수입니다. 숫자의 절대 값(음의 부호가 없는 숫자)을 되돌려주는 '''''Abs''''' 함수도 사용하였습니다.
 
 
[[Category:StartprogrammingusingObjectPascal]]
[[Category:StartprogrammingusingObjectPascal]]

Latest revision as of 11:35, 4 April 2013

날짜/시간 비교하기

실수를 비교하는 것과 마찬가지로 두개의 날짜/시간 변수를 비교할 수 있습니다. 예를 들어 실수에서 9.3은 5.1보다 크며 TDateTime 값에 대해서도 마찬가지 입니다. 내일을 나타내는 Now + 1은 오늘(Now) 보다는 크며, 한 시간 이후를 나타내는 Now + 1/24도 역시 지금으로부터 두 시간 전을 나타내는 Now-2/24 보다 큽니다.

다음 예제에서 2012년 1월 1일 날짜를 변수에 넣고, 현재 날짜와 비교하여 이 날짜가 지났는지 아직 안 지났는지를 확인하겠습니다.

var
    Year2012: TDateTime;
begin
    Year2012:= EncodeDate(2012, 1, 1);
    if Now < Year2012 then
        Writeln('Year 2012 is not coming yet')
    else
        Writeln('Year 2012 is already passed');
    Write('Press enter key to close');
    Readln;
end.


이 예제에 해당 날짜로부터 얼마나 남았는지 또는 지났는지 표시하는 새로운 함수를 넣을 수 있습니다.

var
    Year2012: TDateTime;
    Diff: Double;
begin
    Year2012:= EncodeDate(2012, 1, 1);
    Diff:= Abs(Now - Year2012);

    if Now < Year2012 then
    Writeln('Year 2012 is not coming yet, there are ',
        Format('%0.2f', [Diff]), ' days Remaining ')
    else
    Writeln('First day of January 2012 is passed by ',
        Format('%0.2f', [Diff]), ' Days');
    Write('Press enter key to close');
    Readln;
end.


Diff는 현재 날짜와 2012년 날짜 사이의 차이를 가질 실수 변수입니다. 숫자의 절대 값(음의 부호가 없는 숫자)을 되돌려주는 Abs 함수도 사용하였습니다.