PDA

View Full Version : سوال: تاریخ در پایگاه داده و تبدیل از timestamp به jgetdate



ABZiko
سه شنبه 11 شهریور 1393, 00:01 صبح
سلام من در پایگاه داده ام یک زمان رو با timestamp ذخیره کردم و می خوام اون ها رو از پایگاه داده به صورت تاریخ زمانی شمسی بخوانم که از foreach برای نمایشش استفاده کرده ام، و کد قسمت تاریخ رو برای اینکه بخونم اینطوری نوشتم :


jgetdate($user['date']);

ولی باز هم به صورت timestamp نمایش می ده،چی کار کنم؟

arash691
سه شنبه 11 شهریور 1393, 00:08 صبح
چیزی که این تابع برمیگردونه یک ارایه هستش ... امکان نداره دوباره ts بده ...

ABZiko
سه شنبه 11 شهریور 1393, 00:19 صبح
چطور می تونم نمایشش بدم؟

ABZiko
سه شنبه 11 شهریور 1393, 00:20 صبح
در واقع من با timstamp ثبتش کردم که خام باشه و بعد می خوام با این تابع به صورت سال و ... مختلف و مد نظرم نمایشش بدم.

arash691
سه شنبه 11 شهریور 1393, 00:32 صبح
یه print_r از
$user['date'] بگیرید محتوای ارایه رو نشون میده مثلا" برای نمایش بصورت 1393/02/22 :



<?php $ts = time(); $_date = jgetdate($ts); echo $_date['year'].'/'.$_date['mon'].'/'.$_date['mday'] ; // format : 1393/03/23 ?>


مثلا" این فرمت : " امروز سه شنبه 11 شهریور 1393 "



echo 'امروز' .$_date['weekday'].' '.$_date['mday'].' '.$_date['month'].' '.$_date['year'];

ABZiko
سه شنبه 11 شهریور 1393, 01:10 صبح
تشکر ، یک سوال من این قطعه کد رو نوشتم :


$timestamp=jmktime(0,0,0,$ar[0],$ar[1],$ar[2]);


ولی این ارور رو می ده :


Undifined offset 1
Undifined offset 2

مشکل از چیه؟

ABZiko
سه شنبه 11 شهریور 1393, 01:25 صبح
دوستان اگر لطف کنن و سریع تر کمک کنن ممنون می شم.

مهرداد سیف زاده
سه شنبه 11 شهریور 1393, 08:05 صبح
تابع jgetdate تاریخ unix_time‌رو به صورت یک آرایه شمسی بر میگردونه. الان هدف شما چیه آیا نشون دادن شمسی تاریخی که در دیتابیس هست یا صرفا تبدیلش به آرایه برای استفاده‌های دیگر.
البته این تابع امکان داره خروجی اشتباه بده و اونم حاتی هست که شما طول ذخیره فیلد date رو کوچک تر از مقدار مورد نیازش گرفتید. استاندارد هست که طولش رو 100 بگیرید از نوع int
اگر تایخ timestamp رو میخواید به شمسی تبدیل کنید که روی صفحه نشون بده از کد زیر استفاده کیند


$unix_timestamp = time(); /* or save Database like: $unix_timestamp=$row['time'] */
echo jdate('Y/m/d',$unix_timestamp);