PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : تاریخ شمسی در صفحات استاتیک؛ درخواست کمک



drh1
June 27th, 2013, 00:43
با سلام

من میخوام تاریخ شمسی رو در صفحات استاتیک و html نمایش بدم، همین اواخر با تابع jdate آشنا شدم که توی php میشه تاریخ رو نمایش داد، آیا میشه کاری کرد که توی فایل html هم تاریخ رو به نمایش گذاشت؟

من زیاد با php و کلا برنامه نویسی وب آشنا نیستم، در واقع میخوام در قسمتی از سایت که html هست علاوه بر تاریخ شمسی، تاریخ میلادی و قمری رو هم نمایش بدم، اگه کسی لطف کنه و راهنمایی کنه سپاسگزار میشم

البته خیلی در سایت جستجو کردم ولی چیزی پیدا نکردم

PayamResun.Ir
June 27th, 2013, 00:56
دوست عزیز
شما می تونین با استفاده از تابع date تاریخ میلادی رو به نمایش بزارین : توضیحات به همراه نمونه کد از سایت php.net (http://php.net/manual/en/function.date.php)
تابع jdate هم دقیقا مشابه تابع date هستش که برنامه نویسای خوب کشورمون زحمتش رو کشیدن و آمادس، وی می تونین دقیقا مشابه تابه date ارش استفاده کنید...
حالا مشکلتون کجاس ؟
نمونه خیی ساده ی صدا زدنش این طوریه :


<?php
$today = date("Y/m/d");
echo $today
?>

که در این کد Y برای نمایش سال 4 رقمی، m برای نمایش ماه عددی و d برای نمایش روز به صورت عددی ورد می شود...
جهت مشاهده جدول فرمتینگ تابع date از لینکی که ابتدای پستم هست می تونین استفاده کنید...

speedy
June 27th, 2013, 00:57
JalaliJSCalendar (http://farhadi.ir/projects/jalalijscalendar/)

speedy
June 27th, 2013, 00:58
Source for "convert date to jalali" - Userscripts.org (http://userscripts.org/scripts/review/89996)

drh1
June 27th, 2013, 01:15
ممنون از همگی، با php میتونم اینکار رو انجام بدم ولی مشکل من اینه که میخوام توی فایل html تاریخ رو نشون بدم و نمیدونم چطوری؟ آیا میشه به نحوی فایل php توی html فراخونده بشه؟

در ضمن یک موضوع دیگه هم که هست اینه که میخوام تاریخ سرور نمایش داده بشه و نه تاریخ سیستم کاربر

speedy
June 27th, 2013, 11:05
پس فقط با php میشه
میتونید فایل php را به زبان js بنویسید
و با تگ script لود کنید

drh1
June 27th, 2013, 16:44
پس فقط با php میشه
میتونید فایل php را به زبان js بنویسید
و با تگ script لود کنید


ممنون از پاسختون ولی همونطور که گفتم خیلی برنامه نویسی وب کار نکردم، کار وقت گیری هست؟ امکانش هست که کدش رو برام بذارید؟

drh1
July 3rd, 2013, 17:13
پس فقط با php میشه
میتونید فایل php را به زبان js بنویسید
و با تگ script لود کنید


فایل php رو میشه تبدیل به js کرد و یا باید کلا از اول نوشته بشه؟

کسی راهنمایی نمیکنه؟ اگه راه دیگه هم باشه که تاریخ رو بتونم توی صفحه html نمایش بدم

armin_21
July 3rd, 2013, 17:45
سلام
اصلاً نیازی به php نیست با کد جاوا اسکریپت راحت میشه اینکار رو انجام داد
لینک 1 (http://amib.ir/weblog/?page_id=316)
:)

drh1
July 4th, 2013, 01:08
سلام
اصلاً نیازی به php نیست با کد جاوا اسکریپت راحت میشه اینکار رو انجام داد
لینک 1 (http://amib.ir/weblog/?page_id=316)
:)


ممنون ولی مسئله اینه که من میخوام تاریخ سرور نمایش داده بشه و نه تاریخ سیستم کاربر، البته نمیدونم این کد این کار رو میکنه یا نه و دیگه اینکه میخوام فرمتی شبیه زیر داشته باشم:

امروز پنج شنبه 13 تیر ماه 1392

و معادل میلادی و قمری اون هم باشه

armin_21
July 4th, 2013, 04:24
در این صورت که شما باید از یک زبان تحت وب مثله php یا asp.net استفاده کنید.

drh1
July 4th, 2013, 21:41
در این صورت که شما باید از یک زبان تحت وب مثله php یا asp.net استفاده کنید.

ضمن تشکر از پاسختون ولی دقیق متوجه نشدم، یعنی میگید نمیشه توی صفحات ایستا تاریخ رو نمایش داد؟ یا اگه منظور دیگه دارید خواهشا یه کم بیشتر توضیح بدید
ببینید مثل سایتهایی که ابزار تاریخ برای وبلاگها ارایه میدن نمیشه همون کار رو انجام داد و از توی سایت خودمون از توی صفحات ایستا فراخونده بشن؟
این سایتها با تگ script میشه کدهاشون رو توی هر نوع فایلی فراخوانی کرد

الان حدود یک ماه میشه دنبال چنین چیزی هستم ولی هنوز به نتیجه نرسیدم!

PayamResun.Ir
July 4th, 2013, 22:54
با سلام
ببخشید به علت مسافرت مدتی نبودم و نشد جوابتون رو بدم دوست عزیز، عجیبه کسی جوابی نداده...
من براتون با php نمونه هایی می نویسم، امیدوارک کمکتون بکنه، البته با جاوا اسکریپت هم میشه اما من php رو ترجیح میدم...
ابتدا از اینجا (http://jdf.scr.ir) آخرین نسخه ی تبدیل تاریخ میلادی به شمسی رو دانلود کنید که یه فایل زیپ هستش و توش 3 تا فایل داره :

jdf.php : توی این فایل توابع تبدیل نوشته شده و همه چیز آمادس اینجا فقط کافیه صداش بزنی ( مثال های زیر رو ببینید )
help.htm : توضیحات و کلی مثال داره و خیلی کمکتون می کنه اگه مشکلی داشتین
تبلیغات سایت سازنده که واقعا دستشون درد نکنه کار مارو ساده کردن...

اینجا نمونه های از تاریخ شمسی رو ابتدا مثال میزنم، سپس میلادی رو توضیح میدم :


include("jdf.php"); //// فراخوانی فایل تبدیل کننده تاریخ

$date1=jdate('Y F j'); // نمونه نمایش : 22 بهمن 1389
$date2=jdate('Y/n/j'); // نمونه نمایش : 1389/11/22
$date3=jdate('H:i:s'); // نمونه نمایش : 10:26:53
$date4=jdate('l j F Y'); // نمونه نمایش : پنجشنبه ۱۳ تیر ۱۳۹۲

// سپس هر کدوم رو که خواستین با echo نمایش بدین :
// مثلا :
echo $date4;


فکر می کنم چیزی مه شما می خواستین شبیه مثال چهارم هستش...
نمونه ی سوم هم نمایش ساعت هست که می تونید ساعت محلی رو مشاهده کنید...
همچنین می تونین نوع فرمت نمایش رو به دلخواه خودتون عوض کنین که من جدول فرمتینگش رو به علت زیاد بودن نمیزارم که پست طولانی نشه، اما با مراجعه به فایل Help.htm می تونید جدول شماره 3 رو مشاهده کنید و با انواع فرمت ها آشنا بشین...

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

توابع تاریخ میلادی در php به صورت آماده هست و احتیاجی به فراخوانی فایلی ندارد، می تونید مستندات این تابع رو در اینجا (http://php.net/manual/en/function.date.php) مشاهده کنید...
تاریخ میلادی در php با تابع date صدا زده میشن که نمونه هاش رو در زیر براتون میزارم، البته این توضیح رو بدم که تابعی که در بالا تاریخ شمسی رو نشون میداد دقیقا از نظر نوع استفاده شبیه این تابع هست و تقریبا همه چیشون مشابه همه و تنها تفاوتشون در نوع نمایش تاریخه...




$date1=date('Y F j'); // example : 2013 July 4
$date2=date('Y/n/j'); // example : 2013/7/4
$date3=date('H:i:s'); // example : 20:38:23
$date4=date('l j F Y'); // example : Thursday 4 July 2013

// سپس هر کدوم رو که خواستین با echo نمایش بدین :
// مثلا :
echo $date4;



این تابع هم مثل قسمت قبل میشه فرمت های مختلفی برای نمایش داره که می تونید تمامی اونها رو به همراه مثال های بیشتر در قسمت مستندات که لینکشو گذاشتم ببینید...

امیدوارم تونسته باشم کمکتون کرده باشم و مشکلتون حل شده باشه...
باز هم عذر می خوام که دیر جوابتون رو دادم...
مشکلی بود می تونید در همین تاپیک و یا به صورت پ.خ بفرمایید تا سریعا کمکتون کنیم...
موفق و پیروز باشد...

drh1
July 5th, 2013, 01:24
جناب PayamResun خیلی ممنون از پاسختون ولی این فایلها و توابعی که فرمودید و سایتش رو قبلا دیدم ولی مشکل من چیز دیگست، با php میتونم این کار رو انجام بدم و مشکلی نیست، مشکل من اینه که میخوام توی یک صفحه html تاریخ رو نشون بدم. آیا میشه به نحوی فایلهای php رو از توی فایل html فراخوانی کرد؟ مثلا با تگ script ؟

در ضمن برای تاریخ قمری چکار باید کرد؟ حالا چه بصورت php و یا js ؟

با سپاس

PayamResun.Ir
July 5th, 2013, 01:27
راه بسیار راحت تری هم هست..
پسوند فایلتون رو به php تغییر بدین، سپس همین کد ها رو در محل مربوطه قرار بدین ( درون تگ php )
این کار به راحتی انجام میشه...
همچنین می تونید از جاوا اسکریپت هم استفاده کنید، اگه می خواین نمونه هاشو بزارم براتون تا یاد بگیرید...
اما به نظر من از php استفاده کنید...

drh1
July 5th, 2013, 03:01
خیلی ممنون از توجه و پاسخهاتون، فقط یه مورد دیگه مونده و تاریخ قمری هست، برای تاریخ قمری توی php چطور میتونم نشون بدم؟

و اینکه با php امتحان میکنم و اگه نشد بعد بهتون اطلاع میدم، فقط یک سوال جهت اطلاع خودم: با جاوا میشه تاریخ سرور رو نمایش داد؟ آخه تا حالا هر چی کد جاوا دیدم تاریخ سیستم کاربر رو نشون میدن


خیلی خیلی سپاسگزارم

PayamResun.Ir
July 5th, 2013, 11:30
برای تاریخ قمری هم توابعی تعریف شده و آماده موجوده که در اولین فرصت، احتمالا همین امروز آموزششو میزارم براتون...
کدهای جاوا توسط کاربر هنگام مشاهده صفحه اجرا میشن برای همین نمیتونن تاریخ سرور رو نمایش بدن، کدهای php چون توسط سرور اجرا میشن و کاربر فقط نتیجه رو میبینه، ساعت سرور نمایش داده میشه...
البته با ترکیب این دو زبان براحتی میشه این مشکل رو حل کرد، ولی در غیر این صورت جاوا اسکریپت توانایی نمایش ساعت سرور رو نداره...
موفق و پیروز باشید...

PayamResun.Ir
July 5th, 2013, 16:31
همون طور که قول داده بودم براتون آموزش نمایش تاریخ قمری رو با استفاده از php آماده کردم...
دوستان عرب زبانمون از قبل برای راحتی کار تعداد بسیار زیادی کلاس و تابع تعریف کردن که امکانات بسیار زیادی برای خودشون داره اما به کار ما نمیاد و توی این قسمت فقط آموزش فراخوانی تقویم قمری رو براتون آماده کردم...
ابتدا فایل های مربوطه که دوستان عرب زبانمون آماده کردن رو از اینجا (http://sourceforge.net/projects/ar-php/files/latest/download?source=files) دانلود کنید که یک فایل زیپ هستش، آن را extract کنید..این فایل زیپ توش فقط 1 فولدر داره به اسم I18N...
این فولدر رو در کنار فایل های مورد نظرتون که قرارو تقویم قمری رو نشون بدین قرار بدین...
فولدر I18N توش اینا هست :

فولدر Arabic : در این فولدر تمامی تعریفات کلاس های مورد نیازشون و نیازمون قرار داده شده، اگه می خواین دچار مشکل نشین از پاک کردن فایل هایی که توش موجود هست جدا خودداری نمایید...
Arabic.php : تعریفات کلاس و کانستراکت در این فایل انجام شده که فراخوانی توابع مورد نیاز ما هم توسط همین فایل هست اما برای پردازش از فایل های موجود در فولدر Arabic استفاده می کنه...


حالا نوع فراخوانیش رو با هم میبینیم



include('I18N/Arabic.php'); // فراخوانی فایل تبدیل کننده تاریخ
$time = time(); // گرفتن زمان از سرور
$Ar = new I18N_Arabic('Date'); // ایجاد یک شیء برای قرار دادن زمان در آن و تبدیل
$fix = $Ar->dateCorrection ($time); // تصحیح تاریخ
$GhamariDate = $Ar->date('dS F Y',$time, $fix); // تبدیل تاریخ میلادی سرور به قمری
echo $GhamariDate; // نمونه نمایش : 26 شعبان 1434



باید اضافه کنم که این کلاس هم مثل توابع date و jdate که در پست های قبل گفته شد هستش و فرمت های بسیار متنوعی برای نمایش تاریخ داره که می تونید مستندات و آموزش ها و مثال های استفاده از تمام امکانات این کلاس رو درون همون فولدر I18N مشاهده کنید. ( مثال ها درون فولدری با نام Examples ) موجود می باشند...
البته من این کد رو خودم جوری نوشتم که مشکل شما رو حل کنه و احتیاجی نیست دیگه قسمت مثال ها رو نگاه کنید...
امیدوارم مشکلتون کامل حل شده باشه و تونسته باشم کمکتون کرده باشم...
باز هم مشکلی بود در خدمتم...

موفق و سربلند باشید...

drh1
July 5th, 2013, 20:12
جناب payamresun واقعا لطف و کمک بزرگی کردید فقط یک مسئله دیگه اینکه نام ماههای میلادی رو نمیشه به فارسی نمایش داد؟ مثلا به جای July به فارسی جولای نوشته بشه؟

باز هم سپاسگزاری میکنم

PayamResun.Ir
July 5th, 2013, 20:51
جناب payamresun واقعا لطف و کمک بزرگی کردید فقط یک مسئله دیگه اینکه نام ماههای میلادی رو نمیشه به فارسی نمایش داد؟ مثلا به جای July به فارسی جولای نوشته بشه؟

باز هم سپاسگزاری میکنم

بله این کار قابل انجام هستش به راحتی...
در زیر نحوه ی انجامش رو براتون توضیح میدم...
برای این کار ما با استفاده از تابع str_replace نام ماه ها رو جا به جا می کنیم...



$date1=date('Y F j'); // example : 2013 July 4

$EnGregorianMonths = array("January","February","March","April","May","June","July","August","September","October","November","December"); // اسامی ماه های میلادی به لاتین
$FaGregorianMonths = array("ژانویه","فوریه","مارس","آوریل","می","ژوئن","ژولای","آگوست","سپتامبر","اکتبر","نوامبر","دسامبر");
// اسامی ما های میلادی به فارسی

$date1 = str_replace($EnGregorianMonths,$FaGregorianMonths, $date1); // جا به جا کردن نام ماه ها
echo $date1;



این مثال برای $date1 زده شد، بدیهیه شما می تونید از هر متغیری که محتوی تاریختون هست استفاده کنین...
امیدوارم مشکلتون حل شده باشه..
موفق و پیروز باشید...