احمد
3 سال پیش توسط احمد مطرح شد
13 پاسخ

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

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


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

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


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

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


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

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


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

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


محمد امیری
تخصص : backend coder
@mohammadeng3731 3 سال پیش آپدیت شد
1

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

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

و برعکس :

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


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 3 سال پیش مطرح شد
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
@alirezakefayati 3 سال پیش مطرح شد
0

سلام مجدد
پس یعنی شما میخواهید کاربر تاریخ را به صورت شمسی وارد کنه ، و بعد به صورت میلادی ذخیره کنید ؟
قبل از این مسئله مشکل شما در میلادی بودن تقویم بوت استرپ حل شد ؟ اگر حل نشد لینک های زیر رو نگاهی بیندازید ، بسیار هم زیبا هستند :
توضیح تصویر رو وارد کنید
https://github.com/babakhani/pwt.datepicker
دیت پیکر شمسی در بوت استرپ

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


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

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


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

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


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 3 سال پیش مطرح شد
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


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

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

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

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


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

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


احمد
@ahmad316948 3 سال پیش آپدیت شد
0

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


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

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