Saied Hr
4 سال پیش توسط Saied Hr مطرح شد
9 پاسخ

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

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


ثبت پرسش جدید
ftp
تخصص : ساده
@ftp 4 سال پیش آپدیت شد
0

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


Saied Hr
@saeedlovelorn2 4 سال پیش مطرح شد
0

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


تیرداد
@abbasi.tirdad 4 سال پیش مطرح شد
1

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


Saied Hr
@saeedlovelorn2 4 سال پیش مطرح شد
0

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
1

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


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 4 سال پیش مطرح شد
2

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

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

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


حمید رضا رمضانی
تخصص : توسعه دهنده سرور(Back-End Deve...
@DevHP 4 سال پیش مطرح شد
2

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

https://github.com/hekmatinasser/verta

@saeedlovelorn2


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش آپدیت شد
0

منظور از 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
@abdollahsam 3 سال پیش مطرح شد
1

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

use Hekmatinasser\Verta\Verta;

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

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

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

echo $post->created_at;

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

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