Строковый формат даты и времени

2

Я использую API Vimeo и хочу преобразовать строку < upload_date > в короткий формат даты, {0: d} или {0: dd/mm/yyyy}.

Это мой код, но он, похоже, не работает для меня.

    select new VimeoVideo
            {
                Date = String.Format("{0:d}",(item.Element("upload_date").Value)),
            };
        return Vids.ToList();
    }

    public class VimeoVideo
    {
        public string Date { get; set; }
    }
  • 1
    в каком формате находится item.Element ("upload_date"). Значение в?
  • 1
    Вы на 100% уверены, что item.Element("upload_date").Value является структурой DateTime ?
Показать ещё 4 комментария
Теги:
datetime

2 ответа

3
Лучший ответ

Как сказал Олег, вы можете попытаться проанализировать свое значение на DateTime, а затем отформатировать его (при необходимости используйте try catch). Это должно работать (не на 100%, так как я не знаю, какой тип элемента).

var myDate = DateTime.Parse(item.Element("upload_date").Value);
Date = String.Format("{0:d}", myDate);

http://msdn.microsoft.com/it-it/library/1k1skd40(v=VS.80).aspx

  • 0
    Это сработало отлично, спасибо!
0

Просто проверьте тип свойства Value. Вышеупомянутый форматировщик строк работает для структуры System.DateTime. Я предполагаю в вашем случае объект типа строки. В соответствии с заданной строкой даты даты я написал этот код. Попробуйте это.

CultureInfo provider = CultureInfo.InvariantCulture;
var format = "yyyy-MM-dd HH:mm:ss";
var dt = DateTime.ParseExact(item.Element("upload_date").Value, format, provider);
Date = string.Format("{0:d}", dt);

Надеюсь, что это сработает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню