当使用日期时间的.ParseExact()方法,我总是得到输出作为我把字符串同样在这里是我的代码:DateTime.ParseExact没有做什么,我想要它做的
[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");
字符串dateString格式不错,但它是一个字符串,我需要将它作为格式DateTime存储在数据库中,如“year-month-day hours:minutes:seconds”。但无论出于何种原因,ParseExact在我的情况下似乎不起作用。我得到的DateTime格式是“dd-MM-yyyy HH:mm”。
嗨,谢谢你的回复!我理解你的故事,但它并不能真正解决我的实际问题。当我在迁移时运行种子方法时,我添加了如下所示的日期时间:Date = new DateTime(2017,03,08,14,00,00)导致日期2017-03-08 14:00:00其中是我想要的,但是当我使用我的存储库添加日期时间时,我得到以下格式2017-08-03 14:00:00这是日和月转换。我真的不知道这是什么造成的,但是真的很让人沮丧。 –
@NickBurggraaff对不起,我认为你需要更多的调试。放心'ParseExact'不是你的问题。 – BradleyDotNET
感谢您的帮助!通过分配一天到一个月和一个月到一天来修复它。不是一个很干净的修复,但是是有效的......那是重要的。 –