رفتن به مطلب

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

سلام

چطوری میشه در 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 م

لینک به ارسال

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

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 فیلد تاریخ دارید برای هر پست؟)

اگه این طوره خب تاریخ رو یه صورت استاندارد 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 اونها رو به فورمت دلخواهتون تبدیل کنید

لینک به ارسال

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


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
لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...