Member 11445100 Ответов: 1

Поле Daterangepicker показывает недопустимую дату


Я работаю над проектом, разработанным в .NET MVC, где я столкнулся с проблемой, касающейся функциональности daterangepicker. Та же функциональность работает на локальном хосте, но не на сервере, где размещено мое приложение. Я использую класс bootstrap daterangepicker. Формат даты одинаков в контроллере и JavaScript. Я приложу код контроллера и JavaScript. 

Фактическая работа :
Диапазон данных выбирается из daterangepicker, а остальные поля заполняются. После этого шага я нажимаю на кнопку Сохранить, и детали сохраняются. Как только он будет сохранен, я могу отправить его, и он будет успешно отправлен.

Проблема:
После сохранения в первый раз, когда я перехожу на ту же страницу для изменения, daterangepicker показывает недопустимую дату. Это работает на локальном хосте, но не на рабочем сервере.

Я связался с командой поддержки хостинга по этому вопросу, но с их стороны нет ничего плохого. Пожалуйста, дайте мне знать, если кто-то сталкивался с этой проблемой раньше.


Код Контроллера:
if (count == 1)
                    {
                        daterange = r.DateRange.Split('/');
                        fmdate = daterange[0].Trim();
                        todate = daterange[1].Trim();
                        tm.UserId = obj.UserId;
                        //DateTime fordate = DateTime.ParseExact("05/03/2018", "dd/MM/yyyy", CultureInfo.InvariantCulture);
                        tm.FromDate = DateTime.ParseExact(fmdate, "dd-MM-yyyy", CultureInfo.InvariantCulture);
                        tm.EndDate = DateTime.ParseExact(todate, "dd-MM-yyyy", CultureInfo.InvariantCulture);
                        tm.IsSubmited = false;
                        tm.IsApproved = false;
                        entity.TimesheetMasters.Add(tm);
                        entity.SaveChanges();

код JavaScript:
<script>
        $('#daterange').daterangepicker({

            "dateLimit": {
                "days": 5
            },
            "locale": {

                "format": "DD-MM-YYYY",
                "separator": " / ",
                "applyLabel": "Apply",
                "cancelLabel": "Cancel",
                "fromLabel": "From",
                "toLabel": "To",
                "customRangeLabel": "Custom",
                "weekLabel": "W",
             
                "firstDay": 1
            },
            "weekStart": 5,
            "showWeekNumbers": true,


        });
    </script>


Что я уже пробовал:

Я пробовал использовать разные форматы дат, но это не сработало.

1 Ответов

Рейтинг:
2

Nirav Prabtani

Вы проверили формат даты ?

Он должен быть таким же, как и местный.

Либо вы можете установить свой формат даты сервера в качестве локального, либо вы можете конвертировать формат даты в соответствии с форматом даты сервера перед развертыванием.


Member 11445100

Должен ли я написать код преобразования в контроллере или где-то еще?

Nirav Prabtani

ТМ.FromDate = Датавремя.ParseExact(fmdate, "dd-MM-yyyy", CultureInfo.Языка и региона существует);
tm.EndDate = Дата-Время.ParseExact(todate, "dd-MM-yyyy", CultureInfo.Языка и региона существует);

Вы можете использовать ММ-ДД-гггг наоборот, в соответствии с вашими потребностями

Member 11445100

Спасибо я попробую это сделать и дам вам знать