راکت

تاریخ رو بصورت جلالی دریافت کردم ولی میخوام بصورت timestamp ذخیره کنم

4 پاسخ

سلام دوستان..

من تاریخ انقضا رو بصورت جلالی به کمک فیلد ورودی از کاربر گرفتم، ولی نمیخوام همونو جلالی توی دیتابیس ذخیره کنم و میخوام به صورت استاندارد timestamp ذخیرش کنم که بشه راحت روش عملیات انجام داد..

چجوری باید این تاریخ رو به تایم استمپ تبدیل کنم؟

کتابخونه ای که استفاده کردم هم morilog/jalali هست

فرض کنید یه رشته دارم اینطوری

"1399/12/10"

ثبت پرسش جدید

پاسخ‌ها

4
رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

سلام کافیه این رو به میلادی برگردونی
من با ورتا کار کردم
به این صورت :

$start = explode("/", $start);
$request["start_date"] = implode("-", Verta::getGregorian($start[0], $start[1], $start[2]));

بعد این رو ذخیره میکنی خودش میشه چیزی که میخوای و توی دیتابیس هم اینجوری نشون میده

2021-2-28 00:00:00:00
JBolouri
JBolouri
@javadbolouri72

@Rp76

رفتم تستش کردم ولی گیج شدم این متغیراتونو چجوری تغییر بدم..
ممنون میشم همینو بر اساس چیزی که دارم راهنماییم کنید...

الان توی کنترلرم یه متغیر دارم که تاریخ به صورتی که بالا گفتم داخلشه..

 $expire_at = $request->get('expire_at');

بر اساس این داده چجوری باید این کار رو کنم؟

شاید پاسخ شما همین‌جا باشد

سینا خاقانی
سینا خاقانی
@sina.it91

تخصص: توسعه دهنده بک‌اند

@javadbolouri72
سلام
شما باید ابتدا تاریخ دریافتی از کاربر را با استفاده از توابع morilog به تاریخ میلادی تبدیل کنی
بعد با استفاده از کد زیر اون تاریخ میلادی رو به timestamp تبدیل کنی

Carbon::parse($expire_at);

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

$Jalalian = '1394/11/25 15:00:00';
$carbon = \Morilog\Jalali\CalendarUtils::createCarbonFromFormat('Y/m/d H:i:s', $Jalalian);
رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

من فقط با اون Verta که نام بردم میتونم کمکت کنم.
اگر تاریخی که گفتی به این صورت باشه ۱۳۹۹/۱۲/۱۰.

 $expire_at = $request->get('expire_at');

پس کد میشه این :

$start = explode("/", $expire_at);
$finalResult = implode("-", Verta::getGregorian($start[0], $start[1], $start[2]));

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام