PDA

View Full Version : تابع تبدیل تاریخ میلادی به شمسی



mehr1362
پنج شنبه 22 مهر 1389, 00:27 صبح
با سلام.
تابعی شبیه jdate هست که با استفاده از اون بشه تاریخ میلادی را به شمسی تبدیل کرد؟
ممنون میشم راهنمایی کنید

امیـرحسین
پنج شنبه 22 مهر 1389, 12:25 عصر
شما تاریخ میلادی رو توسط mktime یا strtotime به timestamp تبدیل می‌کنید و به تابع jdate میدید دیگه.

binyaft
پنج شنبه 22 مهر 1389, 12:36 عصر
مگه jdate چه مشکلی داره که دنباله یکی دیگه هستی؟

mehr1362
جمعه 23 مهر 1389, 23:55 عصر
jdate مشکلی نداره ولی من تاریخم شمسی هست و میخوام شمسی و به میلادی تبدیل کنم با همین strtotime هم کار میکنم ولی تاریخ درست بهم نمیده

xoogle.ir
شنبه 24 مهر 1389, 00:31 صبح
تابعی شبیه jdate هست که با استفاده از اون بشه تاریخ میلادی را به شمسی تبدیل کرد؟



میخوام شمسی و به میلادی تبدیل کنم.

آخرش میخای شمسی رو به میلادی تبدیل کنی یا میلادی رو به شمسی ؟؟؟
پیشنهاد من اینکه که تاریخت رو با هر فرمتی که هست اول به timestamp تبدیل کن بعد به تاریخ با هر فرمتی که میخای.

این تابع رو برای تبدیل تاریخ شمسی به برچسب زمان ، همین الان نوشتم :



function jdate_to_timestamp($jyear, $jmonth, $jday){

list($year, $month, $day) = jalali_to_gregorian($jyear, $jmonth, $jday);
$gdate = $year.'-'.$month.'-'.$day;
return strtotime($gdate);
}


از خود تابع jalali_to_gregorian هم میتونی برای تبدیل مستقیم تاریخ استفاده کنی.

mehr1362
شنبه 24 مهر 1389, 09:28 صبح
ممنون از راهنمایی همه دوستان.
من شرمنده سوال اولم اشتباه بود درستش تبدیل تاریخ شمسی به میلادی هستش.
من دقیقا همین کار و میکنم به timestamp تبدیل میکنم ولی تاریخی که بهم میده 1970.1.1

xoogle.ir
شنبه 24 مهر 1389, 11:04 صبح
توی تبدیل به timestamp داری اشتباه میکنی.
از این تابعی که من بهت دادم استفاده کردی ؟؟ کدت رو بذار اینجا.

محمد مهدی حبیبی
یک شنبه 25 مهر 1389, 09:40 صبح
من از این فایل استفاده می کنم
function khorshidi($str)
{
if ($str=="today")
$date=date("Y/m/d");
else
$date=$str;
$arrMonths =array( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );
$arrStart =array( 21, 20, 21, 21, 22, 22, 23, 23, 23, 23, 22, 22 );
$arrDate = explode('/',$date);
$year = $arrDate[0];
$month = $arrDate[1];
$day = $arrDate[2];
if ($year % 4 == 0)
{
for ($i = 2; $i < 12; $i++)
$arrStart[$i]--;
$arrMonths[1]++;
if ($month == 1) $arrStart[11]++;
}
else if ($year % 4 == 1)
{
$arrStart[0]--;
$arrStart[1]--;
if ($month == 1) $arrStart[11]--;
}
$year = $month <= 3 ? $year - 622 : $year - 621;
if ($month == 3 && $day >= $arrStart[2]) $year++;
if ($day < $arrStart[$month - 1])
{
$i = $month == 1 ? 11 : $month - 2;
$day = $day - $arrStart[$i] + $arrMonths[$i] + 1;
$month -= 3;
}
else
{
$day = $day - $arrStart[$month - 1] + 1;
$month -= 2;
}
if ($month <= 0) $month += 12;

return $year . "/" . $month . "/" . $day;
}

?>

xoogle.ir
یک شنبه 25 مهر 1389, 10:31 صبح
ایشون توی پ خ جوابشون رو گرفتن. :لبخندساده:

r30011111
سه شنبه 02 فروردین 1390, 07:42 صبح
بسم الله الرّحمن الرّحيم
معرّفی یک نرم افزار پی اچ پی مفید و کاربردی برای تبدیل تاریخ و زمان
تاريخ هجري شمسي به عنوان يکي از دقيق ترين تاريخ ها ، براي استفاده در سايت هاي فارسي بسيار مناسب است. امّا متاسّفانه با توجّه به ميلادي بودن تاريخ سرور سايت ها ، دسترسي به تاريخ هجري شمسي با مشکلاتي همراه است. يکي از اين مشکلات ، عدم دسترسي به يک نرم افزار رايگان مبدّل تاريخ به هجري شمسي است که از دقّت بالايي نيز برخوردار باشد.
يکي از بهترين نرم افزارهاي رايگان در اين زمينه ، نرم افزار تقويم جلالي بود که سال ها قبل به زبان پي اچ پي نوشته شد و هم اکنون در اکثر سايت ها استفاده مي شود. امّا با گذشت زمان ، عيوب بسيار زيادي از آن نرم افزار قديمي ، آشکار شد. افراد زيادي اقدام به اصلاح فايل نرم افزار نمودند و نسخه هاي گوناگوني از آن منتشر شد که هر کدام با مشکلات و خطاهايي همراه بود.
پس از گذشت سال ها از ساخت نرم افزار قديمي تبديل تاريخ ، در راستاي پيشرفت کشور و توسعه ي فناوري اطّلاعات ، نياز به انتشار يک نرم افزار مشابه با دقّت و امکانات بيشتر ، به شدّت احساس مي شد. تا اين که سايت http://jdf.scr.ir (http://jdf.scr.ir/) در روز 22 بهمن 1389 ، اقدام به انتشار يک نرم افزار جديد ، مشابه با نرم افزار قديمي نمود و اوّلين نسخه ي آن را در امتداد نسخه ي قديمي ، نسخه ي 2.00 قرار داد.
اين نرم افزار جديد ، به دليل همنام بودن نام فايل و توابع آن با نرم افزار قديمي ، اين قابليت را دارد که به راحتي جايگزين فايل قديمي در سايت ها شود و مشکلي در سايت ايجاد نکند.
همچنين امکانات بسيار زيادي به نرم افزار جديد اضافه شد ، مثلاً قابليت محاسبه و نمايش : نام روز و ماه و سال به حروف _ نام باستاني برج ها _ نام حيواني سال ها _ تعداد روز و درصد گذشته و باقيمانده از سال _ نام و شماره ي فصل _ و امکانات بسيار زياد ديگري که مناسب با تاريخ هجري شمسي و زبان شيرين فارسي می باشد.
در اين نرم افزار ، پارامترهاي جديد زيادي اضافه شد تا بتوان عملکرد توابع را به صورت دقیق کنترل کرد و خروجي دلخواه را دريافت نمود. مثلاً قابليت تعيين زبان اعداد ، منطقه ي زماني و حتّي نوع خروجي بعضي توابع که به صورت آرايه باشد يا يک متن دلخواه.
توابع نيز به صورت کامل ، بازنويسي و اصلاح شدند. حجم نرم افزار جديد تا حدّ زيادي کاهش يافت و در مقابل ، سرعت و دقّت آن چندين برابر شد.
اين نرم افزار با داشتن ويژگي هايي همچون متن باز و رايگان بودن ، راه جديدي را براي استفاده از تاريخ هجري شمسي در فضاي مجازي باز کرد. افتخار مي کنيم که اکنون شاهد استفاده از تاريخ بسيار دقيق هجري شمسي در وب سايت ها هستيم و ديگر اجباري براي استفاده از تاريخ ميلادي وجود ندارد. انشاءالله در آينده ي نزديک بتوانيم با ابداع سيستم عامل ها ، زبان هاي برنامه نويسي و نرم افزار هاي بومي به دست خودمان ، کاملاً خودکفا و بي نياز از فناوري هاي غير بومي شويم. آن زمان نزديک است ، آنقدر نزديک که حتّي نمي توانيد تصوّرش را بکنيد.
نرم افزار جديد را هم اکنون مي توان از طريق سايت رسمي اين نرم افزار به نشاني http://jdf.scr.ir (http://jdf.scr.ir/) دريافت نمود. براي استفاده کنندگان از اين نرم افزار ، يک مجموعه ي کامل آموزشي ، ايجاد شده و در سايت http://jdf.scr.ir (http://jdf.scr.ir/) موجود است. همچنين اين سايت ، اقدام به جمع آوري نظرات و پيشنهادات شما براي ارتقاي بيشتر نرم افزار نموده و شما مي توانيد با گزارش اشکالات نرم افزار ، در اصلاح نسخه ي بعدي آن ، کمک کنيد. در اين سايت ، از تمامي ايده هاي مفيد و کاربردي ، حمايت مي شود.
با عضويت در خبرنامه ي سايت http://jdf.scr.ir (http://jdf.scr.ir/) به محض انشار نسخه ي جديدتري از اين نرم افزار ، مطّلع خواهيد شد.
اين سايت در زمينه ي گسترش استفاده از تاريخ دقيق هجري شمسي ، فقط به وب سايت ها اکتفا نکرده و اقدام به ايجاد تابع مجازي jdate براي وبلاگ ها نموده است. از اين پس ، طرّاحان قالب وبلاگ ها و وبلاگ نويسان قادر خواهند بود به صورت مجازي و بدون نياز به فضاي آپلود فايل نرم افزار ، از تابع jdate به صورت دلخواه ، خروجي مورد نظر خود را دريافت کرده و در صفحات وبلاگ خود استفاده نمایند.

براي کسب اطّلاعات بيشتر ، مي توانيد به سايت http://jdf.scr.ir (http://jdf.scr.ir/) مراجعه فرماييد و از آخرين اخبار مربوطه ، مطّلع شويد.