, \t\t , Day of week, Day of year etc, Contributor: SWAG SUPPORT TEAM, Program Gregorian; { Julian day to Gregorian date }, Uses Crt; { Turbo/Quick Pascal }, Type String3 = String[3];, String9 = String[9];, Const MonthName : Array [1..12] of String3 =, ('Jan','Feb','Mar','Apr','May','Jun',, 'Jul','Aug','Sep','Oct','Nov','Dec');, DayName : Array [1..7] of String9 =, (' søndag ', og' mandag og', og' tirsdag og', og' onsdag ',, ' torsdag ', og' fredag ', ' lørdag og'), var dagen, julianday, f: ægte;, måned: byte;, år: heltal, a, b, c, d, e, g, z: longint;, leapyear: boolean;, funktion dayofweek (måned: byte; dag: virkelige: år: hele tal): byte;, var ivar1, ivar2: heltal, begynder, ivar1: = år mod 100, ivar2: = trunc (dag) + ivar1 + ivar1 div. 4, sag måned, 4, 7: ivar1: = 0, 1, 10: ivar1: = 1, 5: ivar1: = 2, 8: ivar1: = 3, 2,3,11: ivar1: = 4, 6: ivar1: = 5, 9,12 - ivar1: = 6, ; (sag), ivar2: = (ivar1 + ivar2) mod 7, hvis (ivar2 = 0), så ivar2: = 7, dayofweek: = byte (ivar2), ; (dayofweek}, funktion dayoftheyear (måned: byte; dag: reale): heltal, var n: heltal,, begynder, , hvis leapyear så n = 1 andre n = 2, n = 275 * måned div. 9, - n * (måned + 9) div. 12), + trunc (dag) - 30, dayoftheyear: = n, ; (dayoftheyear}, begynder {gregorianske}, clrscr;, writeln (' gregorianske datoer v0.0 dec.91 greg vigneault '), writeln (' [angiv julian dag værdier] '), gentager writeln;, skrive (' træde (positive) julian dag nummer: '), readln (julianday), indtil (julianday > = 706.0), julianday: = julianday + 0, 5 og, z: = trunc (julianday); f = frac (julianday), hvis (z < 2299161), så: = z, ellers begynde g = trunc (z - 1867216.25) /36524.25), a: = z + 1 + g - g, div. 4, ; (hvis}, = a + b: 1524; c = trunc (b - 122.1) /365.25), d: = trunc (365.25 * c); E := TRUNC( ( B - D ) /30.6001 );, Day := B - D - TRUNC( 30.6001 * E ) + F;, if ( E < 13.5 ), then Month := Byte( E - 1 ), else if ( E > 13.5 ) then Month := Byte( E - 13 );, if ( Month > 2.5 ), then Year := Integer( C - 4716 ), else if ( Month < 2.5 ) then Year := Integer( C - 4715 );, if ((Year MOD 100)<>0) and ((Year MOD 4)=0), then LeapYear := True, else LeapYear := False;, Write(#10,'Gregorian '); if LeapYear then Write('LeapYear ');, WriteLn('date is ',DayName [dayofweek (måned, dag, år)], ', og', monthname [month], og' ', dag: 2:2, og', og' år: 4, ' (dag i år = ', dayoftheyear (måned, dag), og') ', ), afslutning.{gregorianske}
Day of week etc
Previous:trykke direkte
Next Page:lzw skærm