PDA

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



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


jgetdate($user['date']);

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

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

ABZiko
دوشنبه 10 شهریور 1393, 23:19 عصر
چطور می تونم نمایشش بدم؟

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

arash691
دوشنبه 10 شهریور 1393, 23: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, 00:10 صبح
تشکر ، یک سوال من این قطعه کد رو نوشتم :


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


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


Undifined offset 1
Undifined offset 2

مشکل از چیه؟

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

مهرداد سیف زاده
سه شنبه 11 شهریور 1393, 07: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);