PDA

View Full Version : سوال: استخراج داده timestamp از sql و تبدیل آن به شمسی



HASAN604
جمعه 28 تیر 1392, 20:12 عصر
با سلام
من تاریخم رو بهصورت timestamp در جدول ذخیره کردم
حالا چطوری میشه اون رو به شمسی اکو کنم؟
در کد sql کاری برای تاریخ نکردم و میخوام با تابع jdate فیلد date_create رو به شمسی تبدیل کنم
$query_R1 = "SELECT * FROM karaks INNER JOIN users
ON karaks.user_id=users.id";

از تایع jdate اینطوری استفاده کردم ولی خروجی اشتباه میده


$dat=$row_R1['date_create'];
echo(jdate("y",$dat));
ممنون از همه دوستان

shahriyar3
جمعه 28 تیر 1392, 20:20 عصر
echo(jdate("r",$dat));

HASAN604
جمعه 28 تیر 1392, 20:41 عصر
echo(jdate("r",$dat));

ممنون از جوابت ولی این خروجی رو میده :
۰۴:۰۳:۳۳ +۰۳۳۰ پنجشنبه، ۱۱ دی ۱۳۴۸
در صورتی که تاریخم مال 2013 هست

shahriyar3
جمعه 28 تیر 1392, 21:20 عصر
ممنون از جوابت ولی این خروجی رو میده :
۰۴:۰۳:۳۳ +۰۳۳۰ پنجشنبه، ۱۱ دی ۱۳۴۸
در صورتی که تاریخم مال 2013 هست
11 دی 1348 یعنی که عدد تایم استمپ شما اشتباه هست . داخل $dat چی هست؟ اون اشتباهه


$dat = time("NOW")

HASAN604
جمعه 28 تیر 1392, 22:12 عصر
11 دی 1348 یعنی که عدد تایم استمپ شما اشتباه هست . داخل $dat چی هست؟ اون اشتباهه


$dat = time("NOW")


$dat=$row_R1['date_create'];
این date_create دقیقا اسم فیلد جدول است که داخلش تاریخ 2013 از نوع timestamp ذخیره شده .
همچنین وقتی $dat را echo میکنم خروجیش اینه : 2013-07-19 16:27:21

shahriyar3
جمعه 28 تیر 1392, 22:26 عصر
$dat=$row_R1['date_create'];
این date_create دقیقا اسم فیلد جدول است که داخلش تاریخ 2013 از نوع timestamp ذخیره شده .
همچنین وقتی $dat را echo میکنم خروجیش اینه : 2013-07-19 16:27:21
خوب دقیقا مشکل همینه چون وقتی با توابع خود mysql تاریخ و میخوای دخیره کنی بصورت date دخیره میشه . باید اینو اول تیدیل کنی به میکرو ثانیه بعد اون میکرو ثانیه رو بدی jdate تا بهت تاریخ درست بده.


$date = strtotime($row_R1['date_create']);

HASAN604
جمعه 28 تیر 1392, 22:33 عصر
ممنون جناب شهریار با کمک شما مشکل حل شد.