PDA

View Full Version : سوال: ساعت و تاریخ شمسی



بهارجون
پنج شنبه 06 تیر 1392, 08:52 صبح
سلام دوستان
من دارم یه سایتی طراحی می کنم که میخوام بالای صفحه مثل خیلی از سایتها تاریخ شمسی و ساعت رو نشون بدم کسی میتونه کمکم کنه؟
ممنون

cups_of_java
پنج شنبه 06 تیر 1392, 10:50 صبح
اگه مشکلت با شمسی کردن تاریخ میلادیه
این فایل رو به صفحت اضافه کن (https://gist.github.com/behrad/5799941/raw/51e6a8f853e270047fceacefb584e4d7cce1042a/jalali.js)
و اینطوری تاریخ شمسی رو بگیر:

var now = new Date();
gregorian_to_jalali( [now.getFullYear(), now.getMonth()+1, now.getDate() ] );

بهارجون
پنج شنبه 06 تیر 1392, 11:24 صبح
من کلا نمیدونم باید چه کار کنم لطفا راهنمایی کنین

cups_of_java
پنج شنبه 06 تیر 1392, 13:52 عصر
اینجا جای یاد گرفتن موضوع های پایه ای نیست! برید یاد بگیرید مفاهیم رو، اینجا سوالات و مشکلاتتون رو مطرح کنید.

shovaliehsiah
جمعه 08 شهریور 1392, 22:23 عصر
سلام دوستان
من دارم یه سایتی طراحی می کنم که میخوام بالای صفحه مثل خیلی از سایتها تاریخ شمسی و ساعت رو نشون بدم کسی میتونه کمکم کنه؟
ممنون
asp می نویسی یا php?

darkcms
پنج شنبه 14 شهریور 1392, 23:24 عصر
با سلام و درود.
من یک کد php برای تبدیل تاریخ میلادی به شمسی نوشته ام که بسیار کم حجم می باشد و کاملا درست عمل می کند!
در این کد من سه تابع ساخته ام که به ترتیب سال شمسی ، ماه شمسی و روز شمسی را بر می گرداند!
این کد را می شود به راحتی به جاوا اسکریپت نیز تبدیل کرد!
کد نوشته شده به زبان پی اچ پی :

<?php
date_default_timezone_set('Asia/Tehran');
function plus($year){return $year%4==0&&($year%100!=0||$year%400==0)?1:0;}
function year($year,$month,$day){if($month<4&&$day<21-plus($year))return $year-622;else return $year-621;}
function month($year,$month,$day){$condition=array(21,20,21 ,21,22,22,23,23,23,23,22,22);$month_first=array(10 ,11,12,1,2,3,4,5,6,7,8,9);$month_second=array(11,1 2,1,2,3,4,5,6,7,8,9,10);if($day<$condition[$month-1]-plus($year))return $month_first[$month-1];else return $month_second[$month-1];}
function day($year,$month,$day){$condition=array(21,20,21,2 1,22,22,23,23,23,23,22,22);$plus=array(10,11,9,11, 10,10,9,9,9,8,9,9);if($day<$condition[$month-1]-plus($year))return $day+$plus[$month-1]+plus($year);else return $day-$condition[$month-1]+1+plus($year);}
function day_name($date){return str_replace(array('Sun','Mon','Tue','Wed','Thu','F ri','Sat'),array('یکشنبه','دوشنبه','س ه شنبه','چهارشنبه','پنجشنبه','ج عه','شنبه'),$date);}
?>
البته یه تابع جدید نیز به این کد اضافه کرده ام!
می توانید این کد را در یک فایل پی اچ پی قرار دهید و فایل پی اچ پی را در صفحه ی مورد نظر اینکلود کنید.
برای اینکلود کردن فایل به صفحه ی مورد نظر از کد زیر استفاده کنید:

include 'the php file';
سپس با استفاده از تابع year() با ورودی های سال ، ماه و روز میلادی ، سال شمسی را به دست آورید.
مثلا می خواهید سال شمسی هر روز را در سایتتان قرار دهید:

echo year(date('Y'),date('m'),date('d'))
برای ماه شمسی نیز به همین ترتیب انجام دهید:

echo month(date('Y'),date('m'),date('d'))
و در نتیجه برای بدست آوردن روز شمسی نیز به روش زیر عمل کنید:

echo day(date('Y'),date('m'),date('d'))
اگر نتوانستید خودتان این کد را به جاوا اسکریپت تبدیل کنید بگویید تا کد جاوا اسکریپت را نیز برای شما بگذارم.
به امید فردایی بهتر!:لبخندساده: