Как сделать конвертацию. Тонатетим или дата проанализации в C #, но только получить DD / MM / Yyyy в C # 2.0?
-
27-09-2019 - |
Вопрос
Как тема говорит, у меня есть строка, как
string CreatedDate = "12/09/2010"
И я хочу передать его в веб-метод, который принимает только это как dateTime
customer.dateCreated = Convert.ToDateTime(CreatedDate);
Естественно, он добавляет HH: MM: SS После даты, которую веб-сервис не принимает так, как я могу сохранить дату в коротком формате, когда я преобразую ее на дату?
заранее спасибо
Решение
Предполагая, что у вас есть:
void WebMethod(DateTime date);
и
string dateString = "12/09/2010";
Тогда делай следующий:
DateTime date;
if (DateTime.TryParseExact(dateString, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
{
WebMethod(date);
}
else
{
// raise an error - specified date is not in specified format
}
Примечание:
date.Hour // 0
date.Minute // 0
date.Seconds // 0
В противном случае, если у вас есть DateTime
объект и WebMethod(string date)
Где дата должна быть в указанном формате, то:
DateTime date = ..;
WebMethod(date.ToString("dd/MM/yyyy"));
Другие советы
А. DateTime
значение ничего не знает, что его форматирование (и действительно это не должен). Похоже, ваш веб-сервис сломан, если она не принимает стандартную форматирование даты / времени. Какова реализация веб-сервиса? Это «клиент» автогенерированный прокси-класс?
DateTime
имеет .Date
Свойство, которое положивает информацию о времени.
У WebService принимает дату как только «12/09/2010»? Как правило, Webservice должен следовать за рекомендациями здесьXML Schema Part 2: DataTypes Второе издание
Который является форматом UTC. С использованием:
DateTime.ParseExact(value, "ddd MMM dd HH:mm:ss zz00 yyyy", null);
решает проблему в большинстве случаев.