سلام
میخواستم بدست آوردن تاریخ چند روز بعد یا قبل با توجه به تاریخ جاری توسط Jalali date رو اجام بدم که متاسفانه به مشکلی بر خوردم
آیا دوستان کسی این کار رو تا به حال انجام داده ؟ لطفا کمکم کنید
سلام
میخواستم بدست آوردن تاریخ چند روز بعد یا قبل با توجه به تاریخ جاری توسط Jalali date رو اجام بدم که متاسفانه به مشکلی بر خوردم
آیا دوستان کسی این کار رو تا به حال انجام داده ؟ لطفا کمکم کنید
توابع جلالی همه مبدل هستند. یعنی تاریخ میلادی رو به شمسی تبدیل می کنند. شما کافیه تاریخ چند روز قبل یا بعد رو به میلادی بدست بیارید و از طریق این توابع شمسی کنید.
برای تغییر تاریخ هم بهترین روش، روش timestamp هست یعنی تعداد ثانیه های مورد نظرتون رو از timestamp فعلی کم کنید. مثلا این timestamp سه روز پیش رو میده و خط بعدیش هم تاریخ کامل سه روز پیش رو:
$threeDaysAgo = time() - (3 * 24 * 60 * 60);
list($year, $month, $day) = explode("-" , date("Y-m-d", $threeDaysAgo));
البته فکر می کنم که منظورتون رو متوجه نشدم.....
ممنون از جوابت
به توابع جلالی یک تابع جدید به نام shamsi_date(year,month,day)s اضافه کردم که به ترتیب میشه سال و ماه و روز رو به صورت عددی دلخواه وارد کرد و تا تاریخ جدید برگردانده شه مثلا برای بدست آوردن تاریخ 5 روز دیگه به اینصورت میشه استفاده کرد shamsi_date(0,0,5)s
البته اگر به صورت منفی وارد کنیم تاریخ روز ماه یا سال گذشته رو بر میگردونه
امیدوارم به درد کسی هم بخوره !
سلام به دوستان ايا برا يC# همچين چيزي داريد در اختيار قرار دهيد
واقعا عالی بود ! ازتون مچکرم
ی نکته رو خدمت دوستان مبتدی عرض کنم که این کد های بالا از زمان موجود کم میکنه
چنانچه می خوان روز های آینده رو داشته باشند باید - موجود رو به + تبدیل کنن
$threeDaysAgo = time() + (3 * 24 * 60 * 60);
list($year, $month, $day) = explode("-" , date("Y-m-d", $threeDaysAgo));
این هم کدهای کامل
include ('jdf.php');
$timezone = 0;
$now = date("Y-m-d", time()+$timezone);
$time = date("H:i:s", time()+$timezone);
$threeDaysAgo = time() + (3 * 24 * 60 * 60);
list($year, $month, $day) = explode("-" , date("Y-m-d", $threeDaysAgo));
list($hour, $minute, $second) = explode(':', $time);
$timestamp = mktime($hour, $minute, $second, $month, $day, $year);
$cy = $jalali_date = jdate("Y m d",$timestamp);
echo $cy;
فقط کافیه فایل jdf رو دانلود و کنار فایل php خودشون قرار بدن تا تاریخ فعلی 3 روز جلوتر نمایش داده بشه