PDA

View Full Version : تبدیل یک تاریخ شمسی به میلادی که بصورت رشته از کاربر دریافت می شود



zohreh.hn
یک شنبه 26 مرداد 1393, 12:54 عصر
سلام به دوستان عزیز خواهش می کنم به سوال من جواب دهید
می خوام برای یک محصول دوره زمانی برای فروش بدهم و تاریخ را بصورت 1393/10/12 تا 1393/10/20 وارد می کنم می خواهم مدت بین این دو زمان را محاسبه کنم و تصویری را در این فاصله ی زمانی در سایت نشان دهم زمان این دو رشته که تاریخ شمسی است را چطور محاسبه کنم
خودم به فکرم رسید که اول به میلادی تبدیل کنم بعد محاسبه کنم اما نمی دونم چطوری به میلادی تبدیل کنم
ممنون میشم راهنماییم کنید حیاتی است:خجالت:

مهرداد سیف زاده
یک شنبه 26 مرداد 1393, 13:03 عصر
من پیشنهاد میدم به unix_time برگردونی و فاصله زمانی رو از طریق اون محاسبه کنی. هر چند میتونی به میلادی هم ببری و محاسبه کنی
از ماژول jdf (http://jdf.scr.ir/) و تابع jmktime (http://jdf.scr.ir/rahnama/?t=jmktime) استفاده کن. یه نمونه مثالش

jmktime(6,15,34,11,22,1389);// خروجی: 1297392334

zohreh.hn
یک شنبه 26 مرداد 1393, 14:05 عصر
سلام ممنون، میشه بیشتر راهنمایی کنید تابع jmktime (http://jdf.scr.ir/rahnama/?t=jmktime) را چه جوری استفاده کنم

zohreh.hn
یک شنبه 26 مرداد 1393, 14:16 عصر
چون پیام نمی تونه تابع را صدا بزنه ممنون میشم راهنمایی کنید

مهرداد سیف زاده
یک شنبه 26 مرداد 1393, 14:48 عصر
راهنماش کاملا توضیح داده مقدار سال و ماه و دقیقه رو کجا وارد کنید
فقط شما باید از طریق تابع explode تاریخ فعلی رو به سال و ماه بدست بیارید بدید بهش



//jmktime( $hour , $minute , $second , $month , $day , $year , $is_dst );
//
//پارامتر های تابع mktime
//
//hour$ : پارامتر اوّل ، ساعت ( 24 ساعته ، 23 - 0)
//minute$ : پارامتر دوم ، دقیقه ( 59 - 0)
//second$ : پارامتر سوم ، ثانیه ( 59 - 0)
//month$ : پارامتر چهارم ، ماه ( 12 - 1)
//day$ : پارامتر پنجم ، روز ( 31 - 1)
//year$ : پارامتر ششم ، سال ( کامل 4 رقمی )


include 'jdf.php';
$mydate = explode('/', '1393/10/20');
$unix_time = jmktime(12,30,0,$mydate[1],$mydate[2],$mydate[0]);


echo $unix_time; //unix time
echo gmdate("Y-m-d\TH:i:s\Z",$unix_time); // miladi

در مورد اختلاف زمانی هم چند تا پست قبل تز دوستان بحث کرده بودن