PDA

View Full Version : عدم نمايش صحيح تاريخ



behruz999
دوشنبه 08 خرداد 1391, 09:22 صبح
سلام
من تاريخ رو در ديتابيسم بصورت time stamp ذخيره ميكنم و تو ديتا بيس هم تاريخ صحيح ذخيره ميشه(28/5/2012)
حالا وقتي كه ميخوام تاريخ رو بصورت شمسي نمايش بدم با كد

jdate('Y/n/j',$row['t1'])
تاريخ اشتباه نمايش داده ميشه (1348/10/11)
در حالي كه قاعدتا" بايد 8/3/1391 نمايش داده بشه

لطفا" راهنمايم كنيد

behruz999
دوشنبه 08 خرداد 1391, 11:13 صبح
كسي نيست كمك كنه؟

plague
دوشنبه 08 خرداد 1391, 12:01 عصر
باید تو دیتابیس به صورت epoch ذخیره کنی نه تایم استمپ
تابع time() یه عدد خام بهت میده اون رو توی دیتابیس ثبت کن
بعد اون رو با jdate تبدیل کن به تاریخ شمسی

behzadkhatari
دوشنبه 08 خرداد 1391, 17:40 عصر
دوست عزیز فیلد از نوع timestamp هم شامل تاریخ و هم شامل ساعت جاری میباشد.
این کد رو استفاده کنید
jdate('Y/n/j',substr($row['t1'],0,10))

MMSHFE
دوشنبه 08 خرداد 1391, 21:04 عصر
دوست عزیز، پارامتر دوم تابع jdate باید یک عدد صحیح و بیانگر timestamp باشه. اگه توی دیتابیس تاریخ رو بصورت رشته ای ذخیره کردین، با strtotime تبدیل به timestamp کنید و بعد اون رو به تاریخ دلخواه تبدیل کنید. البته راههای دیگری هم مثل استفاده از توابعی نظیر gregorian_to_jalali و... وجود داره. باید دقیقاً ببینیم توی فیلد مذکور چی ذخیره کردین.

behruz999
سه شنبه 09 خرداد 1391, 07:45 صبح
سلام
توي ديتا بيس تاريخ به اين صورن 2012-05-28 06:00:35 ذخيره ميشه
اگه امكان داره در خصوص تبديل و اين كه كدها رو كجا بنويسم هم توضيح بديد
ممنون

MMSHFE
سه شنبه 09 خرداد 1391, 08:13 صبح
اینو امتحان کنید:


<?php
$list($year, $month, $day) = explode('-', substr($row['t1'], 0, 10));
echo gregorian_to_jalali($year, $month, $day, '/');
?>

behruz999
سه شنبه 09 خرداد 1391, 08:29 صبح
اين پيام خطا رو ميده
Fatal error: Can't use function return value in write context in C:\wamp\www\sanik17\nama\kamel.php

MMSHFE
چهارشنبه 10 خرداد 1391, 19:34 عصر
لطفاً کد کاملتون رو بگذارین تا ببینیم مشکل کجاست.