Member 11699415 Ответов: 4

Как добавить время для данной даты время в целочисленном виде


Как привязать значение времени к дате
формат времени должен быть в формате interger
Пример
Дата : 20-10-2016
Время : 1800

Требуемый Формат 20-10-2016 18: 00:00: 000

Что я уже пробовал:

Я пробовал через промежуток времени и datatime.addhours пожалуйста, помогите

4 Ответов

Рейтинг:
2

OriginalGriff

Это зависит от того, с чем вы имеете дело:
1) Если у вас есть строка (или две строки), то используйте TryParseExact:

string date = "20-10-2016";
string time = "1800";
DateTime dt;
if (DateTime.TryParseExact(date + time, "dd-MM-yyyyHHmm", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
    {
    ...
    }

2) Если у вас уже есть значение DateTime, используйте AddHours:
DateTime dt = new DateTime(2016, 10, 20);
dt = dt.AddHours(18);


Рейтинг:
2

#realJSOP

Вы также можете сделать это:

// assuming you already have a date and a time...
DateTime date = new DateTime(2016, 11, 8);
int time = 1800;

// you could do this
DateTime newDate2 = new DateTime(date.Year, 
                                 date.Month,  
                                 date.Day, 
                                 (int)Math.Floor(time * 0.01), 
                                 time - ((int)Math.Floor(time * 0.01) * 100),
                                 0,
                                 0);


Рейтинг:
1

Mehdi Gholam

Сначала вам нужно разобрать значение времени:

var time = 1800;
var hours = time / 100;
var minutes = time % 100;

Затем установите значения на вашу дату:
var mydate = yourdate;
mydate.Hour = hours;
mydate.Minute = minutes;


Рейтинг:
0

#realJSOP

Если бы время было TimeSpan, вы могли бы сделать это:

// initializing data for the following example
DateTime date = new DateTime(2016, 11, 8);
TimeSpan timespan = TimeSpan.FromHours(18);

// use the TotalMilliseconds property in case the TimeSpan object represents something 
// other than a certain number of hours. 
date.AddSeconds(timespan.TotalMilliseconds);