سلام. چطور میشه تاریخ دیروز و روز ماقبلش رو از یک تاریخ شمسی بدست آورد؟ یعنی یک روز از تاریخی که توی ورودی میدیم کم کنه . آیا jdf همچین قابلیتی داره؟
سلام. چطور میشه تاریخ دیروز و روز ماقبلش رو از یک تاریخ شمسی بدست آورد؟ یعنی یک روز از تاریخی که توی ورودی میدیم کم کنه . آیا jdf همچین قابلیتی داره؟
کافیه با jstrtotime تبدیل به timestamp کنید و به ازای هر روز، 86400 ثانیه از timestamp کم کنید و دوباره با jdate تبدیل به فرمت تاریخ کنید. یا اینکه با jstrftime و عملگرهایی مثل -1 days و... کار کنید که راه اول راحتتره.
موفق باشید.
اگه برا این کار بیام تاریخ شمسی ای که تو دیتابیس ذخیره شده رو تبدیل کنم به میلادی بعد یک روز کمش کنم بعد دوباره تبدیل به شمسی کنم کار عاقلانه ایه؟ به نظر خودم لقمه رو دور سرم میچرخونم اینجوری.
از تایم استمپ استفاده کنید .
کار عاقلانه ای هست اگه دارین از کاربر تاریخ را فارسی میگیرین اما اصلا کار عاقلانه ای نیست اگه تاریخ ها را به فارسی توی database ذخیره میکنید ! تاریخ ها را به میلادی یا با فرمت timestamp ذخیره کنید تا براحتی بتونید روش عملیات انجام بدین.اگه برا این کار بیام تاریخ شمسی ای که تو دیتابیس ذخیره شده رو تبدیل کنم به میلادی بعد یک روز کمش کنم بعد دوباره تبدیل به شمسی کنم کار عاقلانه ایه؟ به نظر خودم لقمه رو دور سرم میچرخونم اینجوری.
ببخشید من یک نسخه برای خودم توسعه داده بودم که توش این تابع رو اضافه کرده بودم. یادم نبود که توی نسخه اصلی نیست. درهرحال با jmktime هم میشه به هدف مشابه رسید. کافیه بجای پارامتر day یک روز عقب تر بگذاریم یا اینکه همون تاریخ رو بگذاریم و هرچی خروجی بهمون داد، به ازای هر روز 86400 ثانیه ازش کم کنیم.
اگه توی دیتابیس تاریخ شمسی رو بصورت 1391/10/29 ذخیره کردین، کد زیر به شما تاریخ هر تعداد روز قبلتر که بخواین رو میده:
<?php
function JalaliAgo($jalaliDate, $beforeDays) {
require_once 'jdf.php';
list($y, $m, $d) = explode('/', $jalaliDate);
$ts = jmktime(0, 0, 0, $m, $d, $y);
for($i = 0; $i < $beforeDays; $i++) {
$ts -= 86400;
}
return jdate('Y/m/d', $ts);
}
?>
یک راه ساده تر هم هست:
با jalali_to_gregorian شمسی رو به میلادی تبدیل کنید، بعدش از strtotime معمولی استفاده کنید، بعد دوباره با gregorian_to_jalali میلادی رو به شمسی برگردونید.
موفق باشید.
ممنون دیگه با همون تابع حل شد. فک کنم تابع بهتر باشه