PDA

View Full Version : معادل روز هفته یک تاریخ(کمک کنید)



hosseinzadeh
جمعه 24 مرداد 1382, 11:48 صبح
با سلام
چگونه برنامه ای بنویسم که یک تاریخ را دریافت کند و معادل روز هفته آن را چاپ کند.مثلا 22/4/1335
یکشنبه
با تشکر

(امید)
جمعه 24 مرداد 1382, 13:13 عصر
سلام

1-ابتدا تاریخ شمسی را به میلادی باید تبدیل کنی ( کد را در همین فرویم می توانی پیدا کنی )
2-
i:=dayofweek(mydate);
mydate تاریخ میلادی می باشد.
i عددی است بین1 تا 7
1 برای یکشنبه ... الی آخر

موفق باشی

saeed_d
شنبه 25 مرداد 1382, 11:20 صبح
اگر نخواستی از روش آقا امید استفاده کنی تابع زیر را امتحان کن.


function day(y,m,d:integer):string;
var
r,k,b,a,l,s:integer;
begin
r:=y mod 4;
k:=y div 4;
if r=3 then k:=k+1;
b:=y+k-1622;
if y>=1298 then a:=b mod 7 else a:=b+(trunc(abs(b)/7)+1)*7;
if a=0 then a:=7;
l:=((m-1)*31+d-(m-7)*trunc(m/7)) mod 7;
s:=a+l-1;
if s>=7 then s:=s mod 7;
Case s Of
0:day:='Friday';
1:day:='Saturday';
2:day:='Sunday';
3:day:='Monday';
4:day:='Tuesday';
5:day:='Wednesday';
6:day:='Thursday';
end;
end;

در این تابع ورودیهای y و m و d همان تاریخ شما به هجری شمسی هستند.
y:سال مثلاً 1382
m:ماه
d:روز