رفتن به مطلب

پست های پیشنهاد شده

سلام

چطوری میشه در php تارخ ها به فرمت های مختلف تبدیل کرد ؟

من برای سایتم نیاز به 3 نوع فرمت تاریخ دارم :

برای سایت مپ : 2013-12-14T23:35:13+00:00

برای فید : Sat, 14 Dec 2013 23:35:13 +0000

برای جستجو : 2013-12-14 23:35:13

هر 3 یکی هست اما به شکل های مختلف.

همه اینها در دیتابیس ذخیره میشوند و فقط فضای اضافی میگیرند.

مثلا یکی از این فرمت ها رو داشته باشیم و به تابع ارسال کنید و نوع دیگری تحویل دهد.

ببخشید تاریخ را اشتباه تایپ کردم :rolleyes:

ویرایش شده توسط Ghasem Paran
لینک به ارسال

تغییر فرمت تاریخ تاثیر چندانی در فضای دیتابیس نداره ولی بعضی از پارامترهاش اینها هستند:

y دو رقم آخر سال مثل 13 در میلادی و 92 در فارسی

Y سال چهار رقمی 1392

m عدد ماه 12

d عدد روز

H ساعت 24 ساعته

h ساعت 12 ساعته

i دقیقه

s ثانیه

l روز هفته شنبه تا جمعه

S پسوند روز یا ماه مثل 1 ام 3 م

  • امتیاز 3
لینک به ارسال

تغییر فرمت تاریخ تاثیر چندانی در فضای دیتابیس نداره ولی بعضی از پارامترهاش اینها هستند:

y دو رقم آخر سال مثل 13 در میلادی و 92 در فارسی

Y سال چهار رقمی 1392

m عدد ماه 12

d عدد روز

H ساعت 24 ساعته

h ساعت 12 ساعته

i دقیقه

s ثانیه

l روز هفته شنبه تا جمعه

S پسوند روز یا ماه مثل 1 ام 3 م

اگر تعداد رکوردها زیاد باشه چی ؟ (مثلا یک میلیون رکورد)

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

ویرایش شده توسط Ghasem Paran
لینک به ارسال

شما الان برای هر رکورد این 3 تاریخ رو در بانک ذخیره میکنید؟

(3 فیلد تاریخ دارید برای هر پست؟)

اگه این طوره خب تاریخ رو یه صورت استاندارد mysql مثل

2013-12-21 09:28:36

در دیتابیس ذخیره کنید و با استفاده از تابع strtotime و تابع Date خود php به فورمت دلخواهتون که گفتید تبدیل کنید

  • امتیاز 3
لینک به ارسال

شما الان برای هر رکورد این 3 تاریخ رو در بانک ذخیره میکنید؟

(3 فیلد تاریخ دارید برای هر پست؟)

اگه این طوره خب تاریخ رو یه صورت استاندارد mysql مثل

2013-12-21 09:28:36

در دیتابیس ذخیره کنید و با استفاده از تابع strtotime و تابع Date خود php به فورمت دلخواهتون که گفتید تبدیل کنید

بله

بله

اگه بلد بودم تبدیل کنم که درخواست نمیدادم !!! :unsure:

ویرایش شده توسط Ghasem Paran
لینک به ارسال

خب این تاریخها میلادی هستن


date('c');
date('r');
date('Y-m-d h:i:s');

شما بهتره تاریخها رو به صورت استاندارد در بانک ذخیره کنید و هر موقع که نیاز بود با استفاده از تابع Date و StrToTime اونها رو به فورمت دلخواهتون تبدیل کنید

  • امتیاز 3
لینک به ارسال

خب این تاریخها میلادی هستن


date('c');
date('r');
date('Y-m-d h:i:s');

شما بهتره تاریخها رو به صورت استاندارد در بانک ذخیره کنید و هر موقع که نیاز بود با استفاده از تابع Date و StrToTime اونها رو به فورمت دلخواهتون تبدیل کنید

اینا رو میدونستم ، کار با

StrToTime رو نمیدونم ...

لینک به ارسال
ارسال شده در (ویرایش شده)

نوشتمش ...

ممنون از راهنمایی همه. :wub:


<?php
function get_Datetime($date,$format)
{
switch($format)
{
case 'now':
$at_object = new DateTimeZone('Asia/Tehran');
$datetime = new DateTime();
$datetime->setTimezone($at_object);
return $datetime->format("Y-m-d H:i:s");
break;
case 'past':
return date("Y-m-d H:i:s", strtotime($date));
break;
case 'feed':
return date("D, d M Y H:i:s +0000", strtotime($date));
break;
case 'sitemap':
return gmdate("Y-m-d\TH:i:s+00:00", strtotime($date));
break;
}
}
echo get_Datetime('','now')."<br/>";
echo get_Datetime('2013-12-22 16:45:42','past')."<br/>";
echo get_Datetime('2013-12-22 16:45:42','feed')."<br/>";
echo get_Datetime('2013-12-22 16:45:42','sitemap')."<br/>";
?>

ویرایش شده توسط Ghasem Paran
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

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



ورود به حساب کاربری
×
×
  • اضافه کردن...