Format daty ASP.NET MVC

Format daty ASP.NET MVC
K2
  • Rejestracja:ponad 11 lat
  • Ostatnio:prawie 9 lat
  • Postów:11
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?

Kopiuj
[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

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 14 godzin
  • Lokalizacja:Wrocław
1

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

K2
  • Rejestracja:ponad 11 lat
  • Ostatnio:prawie 9 lat
  • Postów:11
0

pl-PL

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 14 godzin
  • Lokalizacja:Wrocław
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?

S7
  • Rejestracja:około 12 lat
  • Ostatnio:ponad 5 lat
  • Postów:287
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?

Kopiuj
[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.

edytowany 1x, ostatnio: szymon7500
somekind
Baza ma raczej datetime albo datetime2, tylko raczej nie o to tu chodzi.
0

Ja mam u siebie ustawione

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

A w widoku do edycji:

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

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.