Format daty ASP.NET MVC

0

Witam,
mam problem z bindowaniem daty. W momencie przesyłania formularza data z formatu dd/MM/yyyy zamienia się na yyyy-dd-MM zamiast yyyy-MM-dd. Gdzie mogę znaleźć opcje konfiguracji tego formatu lub w jaki sposób zamienić ją na format yyyy-MM-dd w celu prawdiłowego przesłania do bazy danych?

[Display(Name = "Data urodzenia")]
        [DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
        [Required(ErrorMessage = "Data urodzenia jest wymagana")]
        public DateTime BirthDate { set; get; }

W formularzu używam JQuery Datepicker i mam tam ustawiony format dd/MM/yy

1

To bardzo dziwny format. Jakie masz ustawienia regionalne w aplikacji? (Podaj, co zwraca: CultureInfo.CurrentCulture.Name)

0

pl-PL

0

Czyli przy polskich ustawieniach chcesz wyświetlać datę w formacie brytyjskim? Czemu tak?

Jak wyłączysz jQuery DatePicker i po prostu wpiszesz datę do textboxa ręcznie jest ten sam błąd?

0
kamillo21 napisał(a):

Witam,
mam problem z bindowaniem daty. W momencie przesyłania formularza data z formatu dd/MM/yyyy zamienia się na yyyy-dd-MM zamiast yyyy-MM-dd. Gdzie mogę znaleźć opcje konfiguracji tego formatu lub w jaki sposób zamienić ją na format yyyy-MM-dd w celu prawdiłowego przesłania do bazy danych?

[Display(Name = "Data urodzenia")]
        [DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
        [Required(ErrorMessage = "Data urodzenia jest wymagana")]
        public DateTime BirthDate { set; get; }

W formularzu używam JQuery Datepicker i mam tam ustawiony format dd/MM/yy

wg mnie winno bić np.: @html.TextBoxFor(model => model.BirthDate, "{0:dd/MM/yyyy}")

DisplayFormat i ApplyFormatInEditMode pierwszy to format dla wyświetlenia, drugi zresztą też ale z możliwością edycji - o ile się nie mylę. Sprawdź też w bazie format kolumny, ponieważ baza ma dwa typy danych Date i Time. I po trzecie tak jak @somekind pisał ustawienia regionalne w aplikacji i w bazie.

0

Ja mam u siebie ustawione

        [DataType(DataType.Date)]
        [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
        public DateTime? StartDate { get; set; }
 

A w widoku do edycji:

<input type="date" asp-for="StartDate" class="form-control" />

Z tym, że używam datepicker przeglądarkowy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1