/ / Как да конвертирате времето във формат 24Hr от DateTime.Now - c #

Как да конвертирате времето във формат 24Hr от DateTime.Now - c #

Тук е моят код, има грешка по отношение на последния ред, посочващ това

Msgstr "Не може да се преобразува имплицитно тип" string "в" System.TimeSpan "

//Getting the current date and time
DateTime dateTime = DateTime.Now;
//Date
var date = dateTime.Date;
//Time
var time = dateTime.TimeOfDay;
time = time.ToString("HH:mm");

Отговори:

3 за отговор № 1

В третия ред на кода си определихте променливата име на времето (var time = dateTime.TimeOfDay;), използвайки var.

Var. Тази ключова дума препраща към даден тип по подразбиране. Той псевдоними всеки тип. Типът псевдоними се определя от компилатора C #. Това няма наказание за изпълнение.

Така че типът данни на променливото време е TimeSpan, защото TimeOfDay() Методът връща а TimeSpan и след това в следващия ред опитахте да зададете време стойност на низ, която на типа безопасен език като C # връща грешка. Трябва просто да декларирате друга стойност:

//Getting the current date and time
DateTime dateTime = DateTime.Now;
//Date
var date = dateTime.Date;
//Time
var time = dateTime.TimeOfDay;
var timeOfDayStr = time.ToString("HH:mm");

Ако искате да получите времето във формат 24Hour, трябва да направите следното:

var TimeIn24HrFormat = DateTime.Now.ToString("HH:mm");

1 за отговор № 2

За час и минута можете просто да направите:

String.Format("{0:HH:mm}", DateTime.Now)

По същия начин: Ако искате пълен формат:

String.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)

1 за отговор № 3

Вашата променлива време е от типа на Timespan, но виесе опитват да му зададат низ. C # е статично въведен език, така че променливите не могат да променят типа по време на изпълнение. Просто създайте нова променлива за времевия ви низ:

var time = dateTime.TimeOfDay;
var time24hr = time.ToString("HH:mm");