Próbuję zapisać bieżący format daty i godziny z C # i przekonwertować go na format daty programu SQL Server, tak yyyy-MM-dd HH:mm:ss
aby można było go użyć do UPDATE
zapytania.
To był mój pierwszy kod:
DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");
Data wyjściowa jest w porządku, ale czas zawsze wynosi „12:00:00”, więc zmieniłem kod na następujący:
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.TimeOfDay.ToString("HH:mm:ss");
Dał mi ten błąd kompilacji:
FormatException nie został obsłużony
I zasugerował, że muszę przeanalizować. Więc próbowałem zrobić to z moim kodem, zgodnie z moimi badaniami tutaj w StackOverflow:
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.Parse.TimeOfDay.ToString("HH:mm:ss");
lub
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.tryParse.TimeOfDay.ToString("HH:mm:ss");
Ale mówi mi, że jest to metoda, która nie jest odpowiednia dla danego kontekstu. Próbowałem poszukać rozwiązania swojego problemu i utknąłem już od dwóch godzin. Wciąż jestem trochę nowy w C #, czy możesz mi pomóc?
DateTime
czy też przechowujesz go jako ciąg? Również ToString
włączenie Date
oznaczałoby, że zawsze jest czas12:00:00
DATETIME
a następnie możesz uniknąć wykonywania całej tej konwersji w przód iw tył do iz reprezentacji łańcuchowej!
datetime
byłoby dobrym początkiem. Jeszcze lepiej, dlaczego podajesz serwerowi aktualny czas - ma GETDATE()
funkcję, którą można wywołać całkowicie po stronie serwera.