كمك! تبديل تاريخ

Amir_Reza

Member
اقا عادل چي شد ((شرمنده ها))

ببخشید من متوجه نیستم... چه تفاوتی داره؟
مگه نمیخوان تاریخ میلادی رو به شمسی تبدیل کنن؟!
__________________

چرا ولي توابع اين فرق ميكنه كمي!!!
 

YTERROR

Active Member
سلام والا من چند تا پروژه دارم واسه همین وقت ازادم هرزگاهی آزاد میشه فکر کنم توابع درست شد و الان مشکلی با تاریخ شمسی ندارید فقط بهم ریختگیه که باید بررسی دقیق تری کرد و چند تا ایراد رو تست کرد
 

jhoseini

Member
والا من آخرش نفهمیدم مشکل حل شد یا نه :oops:
به هر حال چیزی که خودم نوشتم+استفاده میکنم + خیلی هم سادس، رو براتون میزارم
اگر هنوز مشکل دارید اینم یه تستی بکنید:wink:
 

پیوست ها

  • time.zip
    2.7 کیلوبایت · بازدیدها: 45

jhoseini

Member
تابع Time2Vaght زمان رو به فرمت میلادی میگیره، و به شمسی تحویل میده
تابع Vaght_2_Taghvim زمان رو به فرمت شمسی و عددی میگیره، و به صورت text تحویل میده
دیگه بیشتر از این نمیشه تشریحش کرد
 

mrj_60

Member
سلام
این فایلی که پیوست کردم رو تست کن
سه تا فایله
11.php که همون کدهاست که گذاشتی
jdf.php , lang_jdf_persian.php اینا رو هم همونجایی آپ کن که فایلت هست
 

پیوست ها

  • Desktop.zip
    6 کیلوبایت · بازدیدها: 25

Amir_Reza

Member
:cry: ارور ها!!

PHP:
require ("jdf.php"); function b_calendar() { $name_function = "b_calendar"; global $a, $m, $db, $blocks_db, $template, $language, $config, $misc, $PHP_SELF, $is_loged_in, $is_moderator, $is_administrator, $is_webmaster, $months, $days, $m, $y, $OnlineGuestsCount, $OnlineMembersCount; if(!file_exists("blocks/$name_function/language/{$config['language']}")) include "blocks/$name_function/language/en.php"; else include "blocks/$name_function/language/{$config['language']}"; $random_code = md5("$name_function"); $random_code = substr("$random_code", 0, 5); if(!isset($content)) $content = NULL; if(!isset($_GET["$random_code"])) $_GET["$random_code"] = NULL; if($_GET["$random_code"] == "on") $_SESSION["$random_code"] = "on"; elseif($_GET["$random_code"] == "off") $_SESSION["$random_code"] = "off"; $query_string = "?{$_SERVER['QUERY_STRING']}"; foreach($blocks_db as $blocks) { $block_code = md5("{$blocks['name']}"); $block_code = substr("$block_code", 0, 5); $query_string = str_replace("&$block_code=off","", $query_string); $query_string = str_replace("&$block_code=on","", $query_string); } if($query_string == "?" || strpos($query_string, '=on') !== false || strpos($query_string, '=off') !== false) $code_query = "?"; else $code_query = "$query_string&"; if(!isset($_SESSION["$random_code"]) || $_SESSION["$random_code"] == "on") $links= " {$language_block['Calendar title']}"; elseif($_SESSION["$random_code"] == "off") $links = " {$language_block['Calendar title']}"; $template_block = implode("", file("templates/$template/block.php")); $template_block = str_replace("{template}", $template, $template_block); $template_block = str_replace("{links}", $links, $template_block); if(!isset($_SESSION["$random_code"]) || $_SESSION["$random_code"] == "on") { //----------------------------------------------------------------- // Some Code parts //----------------------------------------------------------------- $days = Array($language_block['Calendar day'],$language_block['Calendar day2'],$language_block['Calendar day3'],$language_block['Calendar day4'],$language_block['Calendar day5'],$language_block['Calendar day6'],$language_block['Calendar day7']); $months = Array($language_block['Calendar month'],$language_block['Calendar month'],$language_block['Calendar month2'],$language_block['Calendar month3'],$language_block['Calendar month4'],$language_block['Calendar month5'],$language_block['Calendar month6'],$language_block['Calendar month7'],$language_block['Calendar month8'],$language_block['Calendar month9'],$language_block['Calendar month10'],$language_block['Calendar month11'],$language_block['Calendar month12']); $month = $m; $year = jdate('Y'); $monthfulltext = jdate("F", mktime(0, 0, 0, $month, 1, $year)); $day_in_mth = jdate("t", mktime(0, 0, 0, $month, 1, $year)); if($month == 12) $next_month = 1; else $next_month = $month + 1; if($month == 1) $prev_month = 12; else $prev_month = $month - 1; $result = $db->query("SELECT id, type, day, month, year FROM events WHERE month = '$month' AND year = '$year' ORDER BY 'type'"); while ($temp = mysql_fetch_array($result)) { $events[$temp['day']][] = $temp['id']; $event_info[$temp['id']] = $temp['type']; $event_year_db[$temp['id']] = $temp['year']; } //----------------------------------------------------------------- // Start Display //----------------------------------------------------------------- $content .= "« {$months[$month]} $year » 
"; foreach($days as $day) $content .= "".substr("$day", 0, $language_block['Calendar daycut']).""; $content .= ""; //----------------------------------------------------------------- // For first empty spaces //----------------------------------------------------------------- $day_of_wk = jdate("w", mktime(0, 0, 0, $month, 1, $year)); if($day_of_wk <> 0) for ($i = 0; $i < $day_of_wk; $i++) $content .= " "; //----------------------------------------------------------------- // Show days + events + birthdays //----------------------------------------------------------------- for ($date_of_mth = 1; $date_of_mth <= $day_in_mth; $date_of_mth++) { //----------------------------------------------------------------- // Configure stuff first //----------------------------------------------------------------- if ($day_of_wk = 0) for ($i = 0; $i < $day_of_wk; $i++) $content .= ""; $date_no = jdate("j", mktime(0, 0, 0, $month, $date_of_mth, $year)); $day_of_wk = jdate("w", mktime(0, 0, 0, $month, $date_of_mth, $year)); //----------------------------------------------------------------- // Calculate class //----------------------------------------------------------------- if($month == jdate('n')) { if($date_no == jdate('j')) $class = "eventtoday"; else $class = "eventempty"; } else $class = "eventempty"; //----------------------------------------------------------------- // Show days //----------------------------------------------------------------- $day_event = "$date_no"; if(isset($events[$date_no])) { foreach ($events[$date_no] as $key=>$value) { if($date_no == jdate('j') && $month == jdate('n')) $day_event = "$date_no"; else { if($event_info[$value] == 'normal') $day_event = "$date_no"; else $day_event = "$date_no"; } } } $content .= $day_event; //----------------------------------------------------------------- // For last empty spaces //----------------------------------------------------------------- if($day_of_wk == 6) $content .= ""; if($day_of_wk < 6 && $date_of_mth == $day_in_mth) { for ($i = $day_of_wk ; $i < 6; $i++) $content .= " "; $content .= ""; } } } $template_block = str_replace("{content}", $content, $template_block); $output = $template_block; return $output; }
 

jhoseini

Member
اینو از www.iranphp.net گرفتم
تقویم جلالی
ببینید، فکر میکنم کافی باشه
 

پیوست ها

  • Taghvim.Jalali.zip
    123.8 کیلوبایت · بازدیدها: 32
آخرین ویرایش:

YTERROR

Active Member
اینو از www.iranphp.net گرفتم
تقویم جلالی
ببینید، فکر میکنم کافی باش

یکم پستهای قبلی رو مطالعه کنید سیاوش هم همین رو گزاشت تقویم جلالی و من هم همین رو توضیح دادم و به نتیجه هم رسیدید و تنها انتخاب برتر شما همین تقویم جلالی که برای پی اچ پی بی بی و خیلی از اسکریپتهای فارسی دیگه از همین استفاده شده

اون مشکل با یکم دستکاریتون تویی تیبلها درست می شه و وقتی تاریخ تغییر پیدا کرده دیگه دلیلی نداره دنبال توابع دیگه ای باشید
 

r3001

New Member
معرّفی یک نرم افزار پی اچ پی مفید و کاربردی برای تبدیل تاریخ و زمان


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

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

جدیدترین ارسال ها

بالا