9 پست در این موضوع قرار دارد

ارسال شده در (ویرایش شده)

سلام

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

به اشتراک گذاری این پست


لینک به پست

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

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
0

به اشتراک گذاری این پست


لینک به پست

شما الان برای هر رکورد این 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
0

به اشتراک گذاری این پست


لینک به پست

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


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 رو نمیدونم ...

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

نوشتمش ...

ممنون از راهنمایی همه. :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
0

به اشتراک گذاری این پست


لینک به پست

این کار باعث شد 150 مگابایت از حجم دیتابیس کم شود ...

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط amirsa
      سلام
      من محصولات متغیر رو در ووکامرس که وارد میکنم،(محصول ممکنه 2 یا 3 صفت داره که باید انتخاب بشه)
       توی فروشگاه ووکامرس بصورت حد اقل و حداکثر قیمت ها نشون داده میشه
      مثلا کالا دونوع 10 و  20 تومانی هست.صفت آ 15 تومن برای مشتری هایی که بخوان.تو فروشگاه قیمت رو بصورت 10-35 نشون میده که بیشتر از قیمت اصلی است.من میخوام همون 10 و 20 رو نشون بده
      این مشکل انرژی زیادی ازم گرفته ممنون میشم راهنماییم کنید 
    • توسط arianemun
      سلام عرض ادب به کاربران وردپرس پارسی ، من یک مشکلی دارم در افزونه ای ، افزونه woocomerce product finder یک افزونه ای است طبق تنظیمات و چیز هایی که برای محصول ووکامرسی تعریف میکنیم با انتخواب گزینه ها توسط کاربر محصول مورد نظر خودش رو پیدا میکنه، تنها مشکلی که این افزونه یا میشه گفت ضعفی که داره تفاوت محصول برجسته رو با محصول ساده متوجه نمیشه یعنی اگر تو اون دسته یک محصول برجسته باشه و یک محصول ساده اون ها رو از هم تفکیک نمیکنه من میخواستم این قابلیت رو به این افزونه اضافه کنم که کاربر وقتی محصولش رو پیدا کرد هم محصول ساده ها رو ببینه و محصول برجسته شده ! ممنون میشم کمک کنید .
       
      لینک افزونه استفاده شده
    • توسط صالح طالبی
      باسلام خدمت شما عزیزان
      بنده این تکه کد رو که در اصل افزونه نمایش آخرین های انجمن بود برای وردپرس به صورت کد در خود فانکشن قالب دراوردم:
      function ipslatest_main($query) { if ( is_home() && $query->is_main_query() ) { $db_user = 'root'; $db_name = 'ipsdb'; $db_pass = ''; $db_host = 'localhost'; $prefix = get_option('ipslatest_db_prefix'); $url = 'http://localhost/IPS'; $limit = '5'; $title = ''; $width = '300'; $direction = 'rtl'; $translations = array('عنوان','بازدید','پاسخ ها','ارسال شده به وسیله'); $db = new wpdb( $db_user, $db_pass, $db_name,$db_host ); $q = $db->get_results( 'SELECT topic_id,author_name FROM '.$prefix.'forums_posts ORDER BY pid DESC LIMIT '.$limit ); echo '<div id="ipslatest-mainTitle" style="width:'.$width.'">'.$title.$position.'</div>'; echo '<table id="ipslatestTopics" border=0 style="padding:10px;width:'.$width.'">'; echo '<tr><td class="ipslatest-row-views">'.$translations[2].'</td><td class="ipslatest-row-answers">'.$translations[1].'</td><td class="ipslatest-row-sender">'.$translations[3].'</td><td class="ipslatest-row-title">'.$translations[0].'</td> </tr>'; if (is_array($q) || is_object($q)) { foreach ($q as $key => $row) { $topicDetails = $db->get_row('SELECT title,tid,views,posts FROM '.$prefix.'forums_topics WHERE tid='.$row->topic_id); $userMemberID = $db->get_row('SELECT member_group_id FROM '.$prefix."core_members WHERE name='".$row->author_name."'"); $userShowingData = $db->get_row('SELECT prefix,suffix FROM core_groups WHERE g_id='.$userMemberID->member_group_id); echo '<tr id="ipstopic"> <td class="ipslatest-row-views-content"> <span>'.$topicDetails->views.' </span></td> <td class="ipslatest-row-answers-content"><span>'.$topicDetails->posts.'</span></td> <td id="ipslatest-row-sender-content">'.$userShowingData->prefix.$row->author_name.$userShowingData->suffix.'</td> <td class="ipsTitle"> <a rel="follow" href="'.$url.'topic/'.$topicDetails->tid.'-'.strtolower(str_replace(" ","-",$topicDetails->title)).'">'. strip_tags($topicDetails->title) .' </a> </td> </tr>'; } /*}*/ } echo '</table>'; } } به صورت خودکار خود افزونه از کد زیر برای نمایش اون در اول پست های سایت و یا در آخر پست های سایت استفاده میکنه کد ها هم به این شکله:
      add_action( 'wp', 'ipslatestMain' ); function ipslatestMain( $query ) { $position = "bottom"; if($position === "bottom") $acton = "loop_end"; elseif ($position === "top") $acton = "loop_start"; add_action($acton,"ipslatest_main"); } الان بدون هیچ مشکلی نمایش میده در پایین پست ها ولی من میخام این نمایش رو در یه قسمت دیگه از قالب انجام بدم و چجوری میتونم این فانکشن و تابع رو نمایش بدم؟؟؟
      نام افزونه هم در ضمن ipsuite-latest-topics هست و من از حالت افزونه فقط خارجش کردم و در خود قالب و فانکشن اون اوکی کردم.
      فقط مشکل اینه که نمیخام در بالای پست یا پایین پست ها نمایش بدم و میخام در جایی که خودم تعیین میکنم تابع رو نمایش بدم؟!!!
      ممنون میشم راهنمایی بفرمایید.
    • توسط سعید فرزادی پور
      با عرض سلام
      من به مشکلی خوردم که راه حل اون رو نمیدونم
      در هدر سایت یک نویگیشن بار دارم که منوی اصلی سایتم به صورت دراپ داون در این نویگیشن بار وجود داره ، قال سایت من shaply هستش و استفاده از ویجت ها در body بازه ، من با استفاده از یک ویجت اسلایدر در بالاترین قسمت و زیر هدر سایت که ارتفاع اونم 55 پیکسل هستش اسلایدر بزرگ ایجاد کردم ، و حالا زمانی که میرم روی دراپ داون ها متاسفانه تا قبل از اسکرول کردن به پایین ، زیر منو ها به زیر اسلایدر میرن ، اما بعد از اسکرول کردن به پایین این مشکل حل شده و منو ها و زیر منو ها نمایش داده میشن ، هرچه z-index رو افزایش دادم نتیجه ای نداشت ، چطور میتونم این مشکل رو حل کنم ؟
      و سوال دوم این که در این تم منو ها اول به پایین و بعد به راست باز میشن و من میخوایم سایت رو به صورت فارسی داشته باشم و میخوام اول به پایین و بعد به چپ باز بشن منو ها , چه تغییری میتونم در css ایجاد کنم ؟
    • توسط mrasoul
      اینکه من بخوام به قالبی که خریدم یه صفحه ایی رو اضافه کنم میشه بحث غیر قانونی که بایگانیش می کنید ؟
      اگه یک قالبی که میخرید یه امکانی و نداشته باشه و شما بخوای بهش اضافه کنی حتما باید بری پیش پشتیبان قالب و هزینه کنی برات بهش اضافه کنه؟ خوب اگه میتونست که اضافه می کرد .