Wenn die .ParseExact() -Methode für die Datum- und ich bekomme immer die gleiche Ausgabe wie die String-i in setzen Hier ist mein Code:.DateTime.ParseExact nicht tun, was ich will es tun
[Authorize(Roles = "Backoffice, Manager")]
[HttpPost]
public ActionResult FilmShowCreate(FilmShowViewModel newFilmShow)
{
if (ModelState.IsValidField("FilmId") && ModelState.IsValidField("Time"))
{
DateTime unformattedDateTime = newFilmShow.Date.Date + newFilmShow.Time.TimeOfDay;
string dateString = unformattedDateTime.ToString("yyyy-MM-dd HH:mm:ss");
DateTime dbDate = DateTime.ParseExact(dateString, "yyyy-MM-dd HH:mm:ss",
CultureInfo.GetCultureInfo("en-US"), DateTimeStyles.AdjustToUniversal);
FilmShow filmShow = new FilmShow
{
Film = filmRepository.GetFilm(newFilmShow.FilmId),
Cinema = cinemaRepository.GetCinema(newFilmShow.CinemaId),
ThreeDimensional = newFilmShow.ThreeDimensional,
Date = dbDate,
SpecialEvent = newFilmShow.SpecialEvent
};
filmShowsRepository.AddShow(filmShow);
return View("SuccesfullFilmShowCreate");
Die Zeichenfolge dateString ist gut formatiert, aber es ist eine Zeichenfolge, und ich muss es in der Datenbank als Format DateTime wie diese "Jahr-Monat-Tag Stunden: Minuten: Sekunden" speichern. Aber aus irgendeinem Grund scheint der ParseExact in meinem Fall nicht zu funktionieren. Das DateTime Format, das ich bekomme, ist "TT-MM-JJJJ HH: mm".
Hallo, vielen Dank für Ihre Antwort! Ich verstehe deine Geschichte, aber sie löst mein eigentliches Problem nicht wirklich. Wenn ich eine Seed-Methode bei der Migration verwende, füge ich eine Datetime wie folgt hinzu: Date = new DateTime (2017, 03, 08, 14, 00, 00), was zu einem Datum führt, das 2017-03-08 14:00:00 ist ist was ich will, aber wenn ich eine Datetime mit meinem Repository hinzufügen, bekomme ich das folgende Format 2017-08-03 14:00:00 welches der Tag und Monat umgeschaltet ist. Ich weiß wirklich nicht, was das verursacht, aber es ist wirklich frustrierend. –
@NickBurggraaff Entschuldigung, ich denke, du wirst ein bisschen mehr Debugging an deinem Ende brauchen. Seien Sie versichert, dass 'ParseExact' nicht Ihr Problem ist. – BradleyDotNET
Danke für Ihre Hilfe trotzdem! Das Problem wurde behoben, indem der Tag dem Monat und der Monat dem Tag zugewiesen wurde. Nicht eine sehr saubere Lösung, aber es funktioniert ... Das ist wichtig. –