تور لحظه آخری
امروز : یکشنبه ، 15 مهر 1403    احادیث و روایات:  امام علی (ع):بالاترين درجه دانايى، تشخيص اخلاق از يكديگر و آشكار كردن اخلاق پسنديده و سركوب ...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها




آمار وبسایت

 تعداد کل بازدیدها : 1821134725




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

آموزش ذخیره و نمایش تاریخ شمسی / میلادی با استفاده از کتابخانه Pdate -


واضح آرشیو وب فارسی:سایت ریسک: ذخیره و نمایش تاریخ شمسی / میلادی با استفاده از کتابخانه Pdate Mr.Steres 31 خرداد 1389, 14:19سلام . یکی از مورد هایی که بین کاربران ایرانی و یا حتی برنامه نویس های ایرانی دیدم این بوده که تاریخ رو در بانک اطلاعاتی خودشون درست ذخیره نمی کنند و با اینکه به جوابی که می خوان می رسن ولی با کد نویسی بسیار زیاد و غیراصولی ... شما می تونید تاریخ و زمان رو به صورت timestamp () ذخیره کنید در بانکتون و اون رو به هر صورتی که دلتون می خواد چه شمسی و چه میلادی برگردونید و روش محاسبات مربوط به تاریخ رو راحت انجام بدید ! روش کار به این صورت هست که اول timestamp رو با تابع تایم به دست بیاریم : $time = time() ; ( ما اینجا فرض کردیم که شما تاریخ رو به صورت timrstamp توی بانک ذخیره کردید و حالا خوندین و توی تابع تایم ریختید ) اولین روش این هست که بخواین تاریخ و زمان میلادی رو برگردونید : $time = getdate($time) ; // Print associative array print_r($time) ; خروجی اون توی زمان حالا این میشه : Array ( [seconds] => 51 [minutes] => 17 [hours] => 10 [mday] => 21 [wday] => 1 [mon] => 6 [year] => 2010 [yday] => 171 [weekday] => Monday [month] => June [0] => 1277115471 ) با تابع Getdate() () توی تایم یک associative array ریخته می شه که شما می تونید ازش seconds , minutes , hours , mday , wday , mon , year , yday , weekday , month رو برگردونید . حالا اگه شمسی رو بخواین برگردونید باید از کتابخانه Pdate استفاده کنید . پی دیت رو از اینجا دانلود () و در صفحه اینکلود کنید : $time = pgetdate($time) ; // Print associative array print_r($time) ; اینجا هم به جای Getdate از PGetdate استفاده میشه که به صورت همین getdate کار می کنه با این تفاوت که تاریخ و اطلاعات شمسی رو بر می گردونه ... تموم شد ... شما می تونید به طور هم زمان و راحت هم تاریخ شمسی و هم میلادی ( مثلا برای ساختن سایت مپ ) داشته باشید موفق باشید / Mr.Steres peyman1987 31 خرداد 1389, 21:40دوست عزیز ممنون از آموزش خوبی که زحمتش رو کشیدی. بعد از خوندن مطلبت یه نکته ای به ذهنم رسید که شاید بی ربط به این موضوع نباشه (در واقع میشه گفت کاملا مربوطه). اول متنت درباره روش درست ذخیره تاریخ و زمان توی دیتابیس گفتی و روشی هم که گفتی روش بسیار خوب و اصولیه. اینکه زمان رو بصورت TimeStamp ذخیره کنیم کاملا درست ولی بنظرم میاد اگر زمان رو بجای اینکه یه فیلد رشته ای ایجاد کنیم و حاصل تابع Time رو داخلش قرار بدیم ، داخل فیلدی از نوع Timestamp خود MySQL ذخیره کنیم مزیت های فوق العاده زیادی داره که کلی از کدنویسی PHP کم میکنه و میشه اکثر شرط ها و محاسبات رو بوسیله خود MySQL انجام داد. همینطور برگردوندن این زمان برای استفاده توسط توابع PHP هم بسیار ساده میشه. اگر دوستان علاقه داشتن میتونیم درباره این موضوع هم بحث کنیم. ziXet 31 خرداد 1389, 23:45دوست عزیز ممنون از آموزش خوبی که زحمتش رو کشیدی. بعد از خوندن مطلبت یه نکته ای به ذهنم رسید که شاید بی ربط به این موضوع نباشه (در واقع میشه گفت کاملا مربوطه). اول متنت درباره روش درست ذخیره تاریخ و زمان توی دیتابیس گفتی و روشی هم که گفتی روش بسیار خوب و اصولیه. اینکه زمان رو بصورت TimeStamp ذخیره کنیم کاملا درست ولی بنظرم میاد اگر زمان رو بجای اینکه یه فیلد رشته ای ایجاد کنیم و حاصل تابع Time رو داخلش قرار بدیم ، داخل فیلدی از نوع Timestamp خود MySQL ذخیره کنیم مزیت های فوق العاده زیادی داره که کلی از کدنویسی PHP کم میکنه و میشه اکثر شرط ها و محاسبات رو بوسیله خود MySQL انجام داد. همینطور برگردوندن این زمان برای استفاده توسط توابع PHP هم بسیار ساده میشه. اگر دوستان علاقه داشتن میتونیم درباره این موضوع هم بحث کنیم. فکر کنم ایشون هم نگفت که به صورت رشته ذخیره کنی! یه مزیت دیگه ای هم که داره اینه که میشه حالت دیفالت رو روی current_timestamp گذاشت تا هربار لازم نباشه تابع time رو تو کوئری فراخونی کنیم! البته اگه یه فیلد int با طول 11 هم درنظر بگیرید همون کارو میکنه peyman1987 01 تير 1389, 00:00فکر کنم ایشون هم نگفت که به صورت رشته ذخیره کنی! یه مزیت دیگه ای هم که داره اینه که میشه حالت دیفالت رو روی current_timestamp گذاشت تا هربار لازم نباشه تابع time رو تو کوئری فراخونی کنیم! البته اگه یه فیلد int با طول 11 هم درنظر بگیرید همون کارو میکنه درسته دوست عزیز منظور منم رشته یا عدد بودن فیلد نبود روش بود. درست میگین یکی از مزیتهاش همینه که میشه دیفالت تعیین کرد که خودش زمان فعلی رو بعنوان مقدار فیلد در نظر بگیره. حتی این امکان هم هست که با هر بار Update شدن رکورد بصورت خودکار مقدار یک فیلد به زمان فعلی تغییر کنه که میشه باهاش مثلا زمان آخرین ویرایش رکوردها رو بصورت خودکار و بدون نیاز به هیچ کدی ذخیره کرد. Mr.Steres 01 تير 1389, 00:21یه مزیت دیگه ای هم که داره اینه که میشه حالت دیفالت رو روی current_timestamp گذاشت والله می خواستم این نکته رو بگم ولی دیگه گفتم خودم رو با بانک درگیر نکنم ... lepi 24 شهريور 1389, 16:35با سلام بنظرم این تاپیک ارزشش رو داره که دوباره بیارمش بالا و اینجا به مشکلی برخوردم با استفاده از ویژگی timestamp و استفاده از پیش فرض CURRENT_TIMESTAMP من به همچین نتیجه ای می رسم 2010-09-15 17:28:43 که در این حالت تابع getdate پاسخ رو با خطای A non well formed numeric value encountered برمیگردونه ممنون میشم اگر راهنمائیم کنید سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2573]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن