راکت

تبدیل تاریخ میلادی به شمسی در لاراول

9 پاسخ

سلام دوستان من میخوام تاریخی که درون جدول های دیتابیس داخل فیلد updated-at ذخیره میشه رو موقع select به صورت تاریخ شمسی دربیارم و ازش استفاده کنم چطوری میتونم این کار رو انجام بدم،خواهشا راهنمایی کنید.

Saied Hr
Saied Hr
@saeedlovelorn2
ثبت پرسش جدید

پاسخ‌ها

9
ftp
ftp
@ftp

تخصص: ساده

@saeedlovelorn2
میتونی پکیج morilog/jalali رو نصب کنی ازش استفاده کنی

Saied Hr
Saied Hr
@saeedlovelorn2

میشه یکم بیشتر توضیح بدین.چطوری باید مقدار updated-at رو درون متدهای این پکیج قرار بدم و اینکه به وسیله ی این پکیج میشه توی ویو تاریخ رو تبدیل کرد یا باید تو کنترلر این کار رو انجام بدم؟

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

تیرداد
تیرداد
@abbasi.tirdad

بله میتونید توی ویو هم ازش استفاده کنید . مستندات پیکج رو ببنید میتونید به چندین قالب مختلف نمایش بدید .
ولی بنظر من بهتره از جاوا اسکریپت استفاده کنید . به این صورت که از یک کتابخونه تبدیل تاریخ میلادی به شمسی استفاده کنید . و یک input اصلی رو مخفی کنید و جاش یک input با جاوا اسکریپت تولید کنید که تاریخ رو به شمسی نشون بده . تا موقع ارسال هم دوباره نخواین که به میلادی تبدیل کنید و توی دیتابیس به مشکل نخورید

Saied Hr
Saied Hr
@saeedlovelorn2

مطابق مستندات پکیج پیش رفتم به خوبی جواب داد خیلی ممنونم

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

در کنار این پکیج میتونی از Eloquent Accesor ها استفاده کنی. اینجوری میتونی تاریخ رو میلادی ذخیره کنی و حین دریافت تاریخ رو بصورت شمسی نمایش بدی

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

درود...
اگر با ویو جی اس کار می کنید از وابستگی تاریخ شمسی moment-jalaali استفاده کنید:
کد فراخوانی زیر:

{{ moment(user.created_at).format('jYYYY/jM/jD') }}

پیوند زیر:
https://github.com/jalaali/moment-jalaali

حمید رضا رمضانی
حمید رضا رمضانی
@DevHP

تخصص: توسعه دهنده سرور(Back-End Developer)

به نظرم بهترین پکیج برایتاریخ شمسی پکیج verta هستش :

https://github.com/hekmatinasser/verta

@saeedlovelorn2

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

منظور از Eloquent: Accessor اقای @ali.bayat لینک زیر هستش

https://laravel.com/docs/6.x/eloquent-mutators#defining-an-accessor

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

public function getUpdatedAtAttribute()
{
///کد تبدیل تاریخ 
$v = new Verta($this->updated_at);
return $v;
}
Abdollah
Abdollah
@abdollahsam

بعد از نصب پکیج Verta ، در مدلی( مثلا Post ) که قراره استفاده بشه این پکیج رو use میکنیم:

use Hekmatinasser\Verta\Verta;

و تابع زیر رو در مدل مینویسیم:

public function getCreatedAtAttribute($value) {
    $v = new Verta($value);
    return $v;
}

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

echo $post->created_at;

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

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