Я намагаюся зберегти поточний формат часу дати з C # і перетворити його у такий формат дати SQL Server, як так, yyyy-MM-dd HH:mm:ssщоб я міг використовувати його для мого UPDATEзапиту.
Це був мій перший код:
DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");
Вихід на дату нормальний, але час завжди "12:00:00", тому я змінив код на наступне:
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.TimeOfDay.ToString("HH:mm:ss");
Це дало мені цю помилку компіляції:
FormatException не оброблено
І запропонував мені розібратися. Тому я спробував зробити це для свого коду, як показало моє дослідження тут, в StackOverflow:
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.Parse.TimeOfDay.ToString("HH:mm:ss");
або
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.tryParse.TimeOfDay.ToString("HH:mm:ss");
Але це мені говорить, що це метод, який не відповідає дійсності для даного контексту. Я спробував шукати рішення своєї проблеми, і я застряг уже дві години. Я ще трохи новий у C #, чи можете ви мені допомогти?
DateTimeабо ви зберігаєте його як рядок? Також ToStringна Dateувазі, що час завжди є12:00:00
DATETIMEі тоді ви зможете уникнути цього перетворення вперед і назад до та з рядкового представлення!
datetimeхороший початок. Ще краще, чому ви передаєте сервер поточний час - він має GETDATE()функцію, яку можна повністю викликати на стороні сервера.