راکت
احمد
احمد
توسط احمد مطرح شد
13 پاسخ

شمسی کردن تاریخ در بوت استرپ

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


ثبت پرسش جدید
moha li
moha li
تخصص :توسعه دهنده لاراول و Vue
@mohaligateway5 سال پیشمطرح شد
0

سلام
از پکیج persian date picker می تونید استفاده کنید.
@ahmad316948


Saman
Saman
تخصص :برنامه نویس وب
@samanzdev5 سال پیشمطرح شد
0

سلام
می تونید از این پکیج هم استفاده کنید
https://github.com/Mds92/MD.BootstrapPersianDateTimePicker
@ahmad۳۱۶۹۴۸


علیرضا کفایتی
علیرضا کفایتی
تخصص :برنامه نویس laravel, vue.js
@alirezakefayati5 سال پیشمطرح شد
0

سلام علیکم
نمیدونم منظورتون رو درست متوجه شدم یا خیر .
ولی اگر درست متوجه شده بودم این مقاله به دردتون میخوره :
https://barnamenevisan.org/Articles/Article6475.html


احمد
احمد
@ahmad3169485 سال پیشمطرح شد
0

@mohaligateway
@samanzdev
@gomnam
خوب من میخام تاریخ و ساعت رو که این کتابخانه ها بصورت شمسی خروجی دادن رو هنگام ذخیره کردن بصورت میلادی ذخیره کنم.
من از کتابخانه morilog jalali استفاده می کنم.


محمد امیری
محمد امیری
تخصص :backend coder
@mohammadeng37315 سال پیشمطرح شد
1

سلام.اگه میخوای به شمسی تبدیل کنی تاریخ میلادی رو داریم:

console.log(new Date(yourDate).toLocaleDateString('fa-IR'))

و برعکس :

‍‍‍```
console.log(new Date(yourDate).toLocaleDateString('en-US'))


moha li
moha li
تخصص :توسعه دهنده لاراول و Vue
@mohaligateway5 سال پیشمطرح شد
0

سلام
اول از همه این مورد رو باید مد نظر داشته باشید که این پکیج اعداد را به صورت فارسی به سمت سرور می فرسته باید ابتدا اعداد فارسی رو به انگلیسی تبدیل کنید بعد با استفاده از قطعه کد زیر باید یکبار زمان رو به timestamp تبدیل کنید و در database ذخیزه کنید.

protected function dateConverter($date)
    {
        $date = collect(explode("/", $date));
        $converted = $date->map(function($item) {
            return intval($this->converter($item)); 
        });
        $jalalian = new Jalalian($converted[0], $converted[1], $converted[2]);
        $timestamps = $jalalian->getTimestamp();
        return Carbon::createFromTimestamp($timestamps);
    }

@ahmad316948


علیرضا کفایتی
علیرضا کفایتی
تخصص :برنامه نویس laravel, vue.js
@alirezakefayati5 سال پیشمطرح شد
0

سلام مجدد
پس یعنی شما میخواهید کاربر تاریخ را به صورت شمسی وارد کنه ، و بعد به صورت میلادی ذخیره کنید ؟
قبل از این مسئله مشکل شما در میلادی بودن تقویم بوت استرپ حل شد ؟ اگر حل نشد لینک های زیر رو نگاهی بیندازید ، بسیار هم زیبا هستند :

https://github.com/babakhani/pwt.datepicker
دیت پیکر شمسی در بوت استرپ

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


احمد
احمد
@ahmad3169485 سال پیشمطرح شد
0

@mohaligateway
سلام چجوری اعداد فارسی رو به انگلیسی تبدیل کنم؟


احمد
احمد
@ahmad3169485 سال پیشمطرح شد
0

@gomnam
سلام این پکیج ساعت رو به همراه تاریخ پشتیبانی نمیکنه


moha li
moha li
تخصص :توسعه دهنده لاراول و Vue
@mohaligateway5 سال پیشمطرح شد
0

با این تابع داخل php

function convert($string) {
    $persian = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
    $arabic = ['٩', '٨', '٧', '٦', '٥', '٤', '٣', '٢', '١','٠'];

    $num = range(0, 9);
    $convertedPersianNums = str_replace($persian, $num, $string);
    $englishNumbersOnly = str_replace($arabic, $num, $convertedPersianNums);

    return $englishNumbersOnly;
}

@ahmad316948


احمد
احمد
@ahmad3169485 سال پیشمطرح شد
0

@mohaligateway
من به این تابع اعداد فارسی رو پاس دادم ولی خروجی تابع بازم فارسیه

 $string = '۱۴۰۰-۰۳-۲۴ ۱۶:۱۳:۰۷';
        $date = $this->convert($string);
         return $date;

خروجی تابع: ۱۴۰۰-۰۳-۲۴ ۱۶:۱۳:۰۷


moha li
moha li
تخصص :توسعه دهنده لاراول و Vue
@mohaligateway5 سال پیشمطرح شد
0

ببینید اعداد به صورت string هست یا integer ؟
و همچنین یه بار var_dump بگیرید. جوری که فونت روی اعداد اثر نداشته باشه.
@ahmad316948


احمد
احمد
@ahmad3169485 سال پیشمطرح شد
0

اعداد بصورت string هست
@mohaligateway


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

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