رفتن به مطلب

نحوه ی تبدیل تابع میلادی به شمسی


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

سلام

چطور می تونم در کد زیر تابع میلادی آن را به شمسی تبدیل کنم ؟

یا به اصطلاح چطور می تونم از روش تبدیل تابع georgian to jalali استفاده کنم

ممنمون میشم راهنمایی کنید


<?php $date_pub = get_post_meta($post->ID, 'date_pub', true); ?>
<?php echo $date_pub; ?>
<?php $pub_date = date('md'); ?>
<?php
global $post;
$args = array(
'post_per_page' => -1,
'meta_query' =>
array(
'relation' => 'AND',
array(
'key' => 'date_pub',
'value' => $pub_date
)
),
'post__not_in' => array( $post->ID )
);
$birth_posts = new WP_Query( $args );
?>
<?php if ( $birth_posts->have_posts() ) : ?>
<ul>
<?php while ( $birth_posts->have_posts() ) : $birth_posts->the_post(); ?>
<li>
<a href="<?php echo(get_permalink( $post->ID )) ; ?>"><?php echo (get_the_title()) ; ?></a>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>

لینک به ارسال

تابع تاریخ به صورت شمسی می شه


jdate("md");

ولی در کوئری شما چه نیازی به این تغییره؟ شما تاریخی را قرار نیست چاپ کنید در مورد مقایسه تاریخ روز تابع ترجمه نشده جواب می ده برای استفاده از تابع


gregorian_to_jalali($g_y,$g_m,$g_d,$mod);

باید فایل jfd.php دانلود و آپلود کنید و کد


include_once('jdf.php');

را قبل از تابع


gregorian_to_jalali($g_y,$g_m,$g_d,$mod);

بگذارید

لینک به ارسال
  • 4 هفته بعد...

سلام قبل از تایپیک زدن جستجو کردم تا تایپیک زیادی در این مورد نزنیم . به این تایپیک رسیدم

تاریخ ارسال پست ها در قالبم میلادی هست و میخوام شمسی بشه . تا این مرحله رو متوجه شدم که فایلjdf.php رو در هاست مثلا در روت اصلی هاست آپلود کنم . بعدش رو دیگه موندم . دوست عزیزمون جناب ایمان گفتن که کد


include_once('jdf.php');

را قبل از تابع


gregorian_to_jalali($g_y,$g_m,$g_d,$mod);

بذاریم .

من فایل jdf.php رو پلود کردم بعد تغییراتی که جناب ایمان گفتن رو انجام دادم. یعنی در جایی که قرار بود تاریخ اونجا نمایش داده بشه این کد ها رو گذاشتم

:


include_once('jdf.php');
gregorian_to_jalali($g_y,$g_m,$g_d,$mod);

اما جایی که قرار بود تاریخ نمایش داده بشه فقط خطا نمایش داده شد

خطا هم این بود :


include_once('jdf.php'); gregorian_to_jalali($g_y,$g_m,$g_d,$mod);

کجا اشتباه کردم؟؟؟

لینک به ارسال

سلام قبل از تایپیک زدن جستجو کردم تا تایپیک زیادی در این مورد نزنیم . به این تایپیک رسیدم

تاریخ ارسال پست ها در قالبم میلادی هست و میخوام شمسی بشه . تا این مرحله رو متوجه شدم که فایلjdf.php رو در هاست مثلا در روت اصلی هاست آپلود کنم . بعدش رو دیگه موندم . دوست عزیزمون جناب ایمان گفتن که کد


include_once('jdf.php');

را قبل از تابع


gregorian_to_jalali($g_y,$g_m,$g_d,$mod);

بذاریم .

من فایل jdf.php رو پلود کردم بعد تغییراتی که جناب ایمان گفتن رو انجام دادم. یعنی در جایی که قرار بود تاریخ اونجا نمایش داده بشه این کد ها رو گذاشتم

:


include_once('jdf.php');
gregorian_to_jalali($g_y,$g_m,$g_d,$mod);

اما جایی که قرار بود تاریخ نمایش داده بشه فقط خطا نمایش داده شد

خطا هم این بود :


include_once('jdf.php'); gregorian_to_jalali($g_y,$g_m,$g_d,$mod);

کجا اشتباه کردم؟؟؟

این پست موضوعش کانورت تاریخه

شما افزونه جلالی را نصب کن اگر تاریخ ها درست نشد وارد پوشه و فایل اصلی افزرونه بشو و برای


//get_date();
//get_time();

جستجو کن و اسلش ها را از قبلشون بردار

لینک به ارسال

اگر افزونه جلالی رو نصب کنید از خط اولی که آقا ایمان گفت میشه استفاده کرد

راه حل دوم هم : کدها رو داخل <?php ?> قرار میدهید؟

لینک به ارسال

ممنون دوستان اخه من وقتی افزونه جلالی رو فعال میکنم کل سایت خطای 503 میزنه به خاطر این هست که من یه افزونه دیگه هم نصب کردم فکر کنم با هم تداخل دارند هر وقت یکی از اون افزونه ها رو مثلا افزونه جلالی یا اون یکی رو غیر فعال کنم سایت درست میشه اما من نمیتونم اون یکی افزونه رو غیر فعال کنم چون بهش نیاز دارم مجبورم ازفونه جلالی رو غیر فعال کنم و از یه راه دیگه تاریخ رو شمسی کنم . باشه حالا کد فراخوانی رو داخل همون علامت ها میذارم ببینم درست میشه یا نه

من کد فراخوانی رو اینجوری قرار دادم اما نشد


<?php
include_once('jdf.php');

gregorian_to_jalali($g_y,$g_m,$g_d,$mod);
?>

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

اگر فایل jdf.php را در روت قالب خود آپلود کردید این کد شماست


<?php
include_once('TEMPLATEPATH . '/jdf.php');
gregorian_to_jalali($g_y,$g_m,$g_d,$mod);
?>

لینک به ارسال

البته باید به $g_y و متغیرهای دیگه مقدار بدید

یعنی


include_once('TEMPLATEPATH . '/jdf.php');
$g_y = get_date('Y');
$g_m = get_date('m');
$g_d = get_date('d');
gregorian_to_jalali($g_y,$g_m,$_d,'/');
?>

لینک به ارسال

سلام من با این کد فراخوانی تونستم تاریخ رو شمسی کنم


<?php
include_once($_SERVER['DOCUMENT_ROOT'].'/jdf.php');
$post_year = get_the_time('Y');
$post_month = get_the_time('m');
$post_day = get_the_time('d');
echo gregorian_to_jalali($post_year,$post_month,$post_day,"/");
?>

الان خروجی به این صورت هست 1392/09/03

حال اگه بخوام یه کم تغییرش بدم و خروجی بشه 03/آبان/1392

چه تغییراتی ایجاد کنم .اولش رو یادبگیرم بقیه رو خودم میتونم تغییر بدم

لینک به ارسال

ببینید این کمکتون می کنه

http://jdf.scr.ir/ra.../?t=jdate_words

متاسفانه برام خیلی پیچیده هست . یه نمونه کد فراخوانی که دارم خروجی به صورت 1392/09/03 بود یه نمونه کد فراخوانی دیگه داشته باشم همراه با اون صفحه ایی که دادین میتونم مقایسه کنم فکر کنم بهتر بتونه کمکم کنه

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

خروجی تابعی که دارید را باید به عنوان ورودی به تابع صفحه ای که دادم معرفی کنید

کار راحتی نیست

لینک به ارسال

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

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

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

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

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

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

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

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

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