PDA

View Full Version : کم کردن دو مقدار از تاریخ



ali643
چهارشنبه 22 بهمن 1382, 15:46 عصر
سلام
دو تا تاریخ دارم که باید از هم کم کنم و به صورت ماه و روز نشون بده *فقط ماه و روز*البته سال هم باید کم بشه فقط می خواهم نشون بده که چند ماه و چند روز با تاریخ دوم فاصله هست
این جوری تاریخ امروز 22/11/1382 هست که باید از تاریخ 10/05/1383 کم بشه

البته سرچ هم کمی کردم چیزی پیدا نکردم .اگه کامپوننتی بود هم طالبیم اما اگه کد باشه
بهتر
خیلی گیرم :wink:

Gladiator
چهارشنبه 22 بهمن 1382, 21:09 عصر
decode datetime میتونه مشکلت رو حل کنه .

ali643
چهارشنبه 22 بهمن 1382, 21:24 عصر
گلادی جون می شه یه مثال برام بفرستی
البته تاریخ رشته ای هست

Gladiator
چهارشنبه 22 بهمن 1382, 21:39 عصر
بیا پسر خوب


function EncodeDate ( const Year, Month, Day : Word ) : TDateTime;

برای اطلاعات بیشتر :

http://www.delphibasics.co.uk/RTL.asp?Name=EncodeDate

موفق باشی فرزندم .

ali643
چهارشنبه 22 بهمن 1382, 22:19 عصر
گلادی جون اولا لینک خرابه
دوما این تابع رو کی نوشتی برام 3 ثابت میگیره ولی من دو تا تاریخ دارم.فکر کنم سئوالم رو درست و واضح نرسوندم
ببخشید اشتباه ازمنه
ببین من این تاریخ رو دارم 12/11/1382 ومی خواهم از این تاریخ 25/03/1383 چند ماه وچند روز مونده همینوو بس که باید بشه 4 ماه و 13 روز
و این نکته رو بگم اونم اینه که تارخ اول هر چی می تونه باشه تارخ امروز سیستم نیستاااااااااااااااااا

ali643
چهارشنبه 22 بهمن 1382, 22:24 عصر
لینکش الان درست شد
مرسی

Gladiator
چهارشنبه 22 بهمن 1382, 22:32 عصر
1) با همینم میشه این کار رو انجام داد .
2) بهتر ٬ راحت تر ٬ زیبا تر ٬ مطمئن تر = استفاده از کامپوننت تاریخ شمسی آقای امیر رحیمی فراحانی
www.farsicomponents.com

موفق باشی .

ali643
پنج شنبه 23 بهمن 1382, 00:31 صبح
گلادی جون همچین امکانی داخل دموی کامپوننت ها نیست
میدونی من چیکار می خواهم بکنم

ببین من این تاریخ رو دارم 12/11/1382 ومی خواهم از این تاریخ 25/03/1383 چند ماه وچند روز مونده همینوو بس که باید بشه 4 ماه و 13 روز
و این نکته رو بگم اونم اینه که تارخ اول هر چی می تونه باشه تارخ امروز سیستم نیستاااااااااااااااااا

از بروبچ سایت خواهشا هرکی میدونه یه بوق بزنه
بابا دارم ضایع می شم :cry: :cry: :cry:

Gladiator
پنج شنبه 23 بهمن 1382, 00:35 صبح
2 کار میتونی بکنی :

1) از همین استفاده کنی .
2) کامپوننت تاریخ فارسی رو بخری . ( خیلی ماهه )

موفق باشی .

ali643
پنج شنبه 23 بهمن 1382, 00:45 صبح
گلادی جون حداقل یه فکری کن برام که یه جور دیگه سرشو شیره بمالم بره
جریان از این قرار که تو برنامه من یک تانک اجاره می کنه حالا اگه آمد زود تر تحویل داد چه گونه ماوتفاوت زود تر برگرداندن تانکر را حساب کنم یا اینکه دیرتر تانکر را آورد چگونه می شه حساب کرد
البته ببین چه جوری میشه سرشو بکوبیم به طاق شرکتش
:evil2:

ali643
پنج شنبه 23 بهمن 1382, 04:04 صبح
یه برنامه کوچیک هم زمیمه کردم
فقط اگه کسی تونست برای 6 ماه اول که 31 روز هست و ماه آخر که 29 روزه و با احتساب سال کبیسه برامون راهش بندازه ببینیم میشه یا نه ممنون می شوم
فقط فوری و فوتی :cry:

Kambiz
پنج شنبه 23 بهمن 1382, 05:46 صبح
سلام،

اول یونیت SolarUtl (http://delphiarea.com/products/misc/solar.zip) رو بگیر. بعد با این یونیت و استفاده از تابع DaysBetween که در زیر اومده٬ می‌تونی تعداد روزهای بین دو تا تاریخ رو بدست بیاری.


uses
SolarUtl;

function StrToYMD(S: String; var Y, M, D: Word): Boolean;
var
P: Integer;
begin
Result := False;
try
P := Pos('/', S);
if P > 0 then
begin
Y := StrToInt(Copy(S, 1, P - 1));
Delete(S, 1, P);
P := Pos('/', S);
if P > 0 then
begin
M := StrToInt(Copy(S, 1, P - 1));
D := StrToInt(Copy(S, P + 1, Length(S) - P));
Result := True;
end;
end;
except
end;
end;

funcion DaysBetween(const D1, D2: String): Integer;
var
Date1, Date2: DateTime;
Y, M, D: Word;
begin
StrToYMD(D1, Y, M, D);
Dat2 := SolarEncodeDate(Y, M, D);
StrToYMD(D2, Y, M, D);
Date2 := SolarEncodeDate(Y, M, D);
Result := (Trunc(Date1) - Trunc(Date2));
end;

ali643
پنج شنبه 23 بهمن 1382, 11:33 صبح
فقط اگه کسی تونست برای 6 ماه اول که 31 روز هست و ماه آخر که 29 روزه و با احتساب سال کبیسه برامون راهش بندازه ببینیم میشه یا نه ممنون می شوم

Gladiator
پنج شنبه 23 بهمن 1382, 12:53 عصر
بابا دمت گرم دیگه . این همه راهنمایی ٬ باز هم آره ؟

بابا من از همون DecodeDateTime برای نوشتن برنامه کنترل کافی نت استفاده کردم . خیلی سر راست و راحته .

موفق باشی .

ali643
پنج شنبه 23 بهمن 1382, 13:08 عصر
http://www.barnamenevis.net/oldForum/display_topic_threads.asp?ForumID=15&TopicID=3156&SearchPagePosition=1&search=%D8%AA%D8%A7%D8%B1%D9%8A%D8%AE&searchMode=allwords&searchIn=Topic&forum=15&searchSort=dateDESC&ReturnPage=Search

ali643
پنج شنبه 23 بهمن 1382, 17:37 عصر
مسئله حل شود
یه جوری سرش شیره مالیدم*البته اگه سه نشه*
مرسی از گلادی و آقا کامبیز
:flower: :flower: :flower: