PDA

View Full Version : سورس تبدیل تاریخ



رهنورد2
جمعه 13 مرداد 1385, 18:24 عصر
میشه به من بگویید که یک سورس مطمئن برای تبدیل تاریخ میلادی به شمسی وقمری رااز کجا باید بگیرم.

spsgorgan
شنبه 14 مرداد 1385, 14:31 عصر
توضیح
تابع های اصلی به کار رفته در این فایل :
jdate(string, integer)
jmaketime(integer, integer, integer, integer, integer, integer)
تابع jdate()
این تابع مثل تابع date توی PHP کار می کنه.اولین ورودی این تابع که از نوع رشته است فرمت خروجی تاریخ رو نشون می ده(فرمت های خروجی تابع jdate).
دومین ورودی که از نوع عدد صحیح است.فاصله زمانی (بر حسب ثانیه) از تاریخ 1970-1-1 (همون ۱۱/۱۰/۱۳۴۸ خودمون) است که با استفاده از تابع mktime یا تابع خورشیدی شده آن jmaketime اون رو مقدار دهی می کنیم(که این ورودی اختیاری است و در صورتی که خالی باشه زمان اکنون رو در نظر می گیره).در صورتی که شما از حرفی استفاده کنید که در این جدول نیامده خود حروف بدن تغییر از تابع بر می گردند.
چند مثال:
echo jdate("Y/m/d");
result:
۱۳۸۲/۰۸/۰۵

echo jdate("l j F Y",mktime(0,0,0,6,30,1998));
result:
سه شنبه ۹ تیر ۱۳۷۷

echo jdate("l j F Y",jmaketime(0,0,0,6,30,1363));
result:
جمعه ۳۰ شهریور ۱۳۶۳ توی خط 31 این فایل یک سری تنظیمات است که آلان در موردشون توضیح می دهم
$transnumber این متغییر در صورتیکه مقدار ۱ داشته باشه اعداد رو به فارسی ترجمه می کنه
$TZhours و $TZminute این دوتا متغییرها برای اینه که اگر شما از یک سرور استفاده می کنید که با ساعت گرینویچ ست است اون رو تبدیل به زمان محلی بکنه اگر نمی خواهید این کار رو بکنه مقدار دوتاشون رو ۰ کنید (اولی تفاوت دقیقه دومی تفاوت ساعتی مثلا : $TZhours=3; $TZminute=30; برای ایران است)
فرمت های خروجی تابع jdate
فرمت خروجی مثال
A قبل‏ازظهر و یا بعدازظهر را نشان می دهد قبل‏ازظهر - بعدازظهر
a ق.ظ و یا ب.ظ را نشان می دهد ق.ظ - ب.ظ
d چندمین روز از ماه را به صورت عدد دورقمی 01 - 02 - 03 - ... -31
D نام روز هفته را با یک کلمه ی - د - ... - ج
F نام کامل ماه فروردین - اردیبهشت - ... - اسفتد
g نمایش ساعت به صورت 12 ساعته 1 - 2 - 3 - ... - 12
G نمایش ساعت به صورت 24 ساعته 0 - 1 - 2 - ... - 23
h نمایش ساعت به صورت 12 ساعته دورقمی 01 - 02 - ... - 12
H نمایش ساعت به صورت 24 ساعته دو رقمی 00 - 01 - 02 - ... - 23
i نمایش دقیقه 00 - 01 - 02 - ... - 59
l(lower L) نمایش روزهای ماه به صورت عدد 1 - 2 - ... - 12
m نمایش ماه به صورت عدد دورقمی 01 - 02 - ... - 12
n نمایش ماه به صورت عدد 0 - 1 - 2 - ... - 12
s نمایش ثانیه یک دقیقه 01 - 02 - ... - 59
t تعداد روزها مشخص شده ماه (خورشیدی) 29
w چندمین روز هفته به صورت یک عدد تک رقمی 0(یکشنبه) - 1 - 2 - ... - 6
y نمایش سال به صورت عدد دورقمی 81 - 82 - ...
Y نمایش سال به صورت عدد چهار رقمی 1381 - 1382 - 1383 - ...
تابع jmaketime()
این تابع مثل تابع mktime توی PHP کار می کنه.
ورودی های این تابع : (سال,روز,ماه,ساعت,دقیقه,ثانی ه) jmaketime. که سال و ماه و روز آن را باید بر حسب تاریخ خورشیدی وارد کنید. یک نکته که در باره این تابع بگم اینه که اگر شما مقدار یکی از ورودی ها رو بیشتر از مقدار معمولش قرار دهید(مثلا برای ورودی ماه مقدار 15 را وارد کنید) خود تابع به صورت هوشمند به نتیجه آخر تابع به اندازه 3 ماه اضافه می کنه.
چند تا مثال :
jmaketime(59,59,23,12,18,1380);
result :
1015831763

jmaketime(80,110,54,15,60,1362);
result
453964854
روش استفاده از این تابع
برای استفاده از این تابع فقط کافی است که فایل مورد نظر رو دانلود بکنید و در فایلی که خواستید از اون استفاده کنید این کد رو وارد بکنید:
<?php require_once"jdf.php" ?> آلان دیگه فکر کنید شما دارید از تابع PHP استفاده می کنید!!!. خوش باشید (-:

tabib_m
یک شنبه 15 مرداد 1385, 11:07 صبح
سلام
در مورد قمری عرض کنم که تا حالا نمونه ی به درد بخوری ساخته نشده.
:(
من که هر چی گشتم ، گیر نیاوردم.
حتی خودم یک بار دلم میخواست که بسازم ، اما نشد.
یعنی هر کاری هم بکنی ، نمیتونی دقیقش رو بدست بیاری ، بخوای نخوای ، گیر داره. :(
در هر صورت ، اگه گیر اوردید ، به من هم بگید ، چون شدیدا نیازمندم. :(

oxygenws
یک شنبه 15 مرداد 1385, 13:46 عصر
از میلادی به قمری هست....
توی گوگل بگرد، پیدا میشه!!!

tabib_m
دوشنبه 16 مرداد 1385, 12:26 عصر
از میلادی به قمری هست....
توی گوگل بگرد، پیدا میشه!!!
واقعا؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
اگه پیدا کنم ، همینجا لینکش رو میذارم

رهنورد2
سه شنبه 17 مرداد 1385, 09:26 صبح
خوب ببینم حال برای بانکی که جدولش یکی از فیلدهایش تاریخ قمری وجدول دیگه اش یکی از فیلدهایش تاریخ شمسی است باید در هروز همان روز راگرفته ودر جدول سرچ کند چه باید کرد

r30011111
سه شنبه 02 فروردین 1390, 07:43 صبح
بسم الله الرّحمن الرّحيم
معرّفی یک نرم افزار پی اچ پی مفید و کاربردی برای تبدیل تاریخ و زمان
تاريخ هجري شمسي به عنوان يکي از دقيق ترين تاريخ ها ، براي استفاده در سايت هاي فارسي بسيار مناسب است. امّا متاسّفانه با توجّه به ميلادي بودن تاريخ سرور سايت ها ، دسترسي به تاريخ هجري شمسي با مشکلاتي همراه است. يکي از اين مشکلات ، عدم دسترسي به يک نرم افزار رايگان مبدّل تاريخ به هجري شمسي است که از دقّت بالايي نيز برخوردار باشد.
يکي از بهترين نرم افزارهاي رايگان در اين زمينه ، نرم افزار تقويم جلالي بود که سال ها قبل به زبان پي اچ پي نوشته شد و هم اکنون در اکثر سايت ها استفاده مي شود. امّا با گذشت زمان ، عيوب بسيار زيادي از آن نرم افزار قديمي ، آشکار شد. افراد زيادي اقدام به اصلاح فايل نرم افزار نمودند و نسخه هاي گوناگوني از آن منتشر شد که هر کدام با مشکلات و خطاهايي همراه بود.
پس از گذشت سال ها از ساخت نرم افزار قديمي تبديل تاريخ ، در راستاي پيشرفت کشور و توسعه ي فناوري اطّلاعات ، نياز به انتشار يک نرم افزار مشابه با دقّت و امکانات بيشتر ، به شدّت احساس مي شد. تا اين که سايت 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/) مراجعه فرماييد و از آخرين اخبار مربوطه ، مطّلع شويد.