Я использую 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; }
}
Как сказал Олег, вы можете попытаться проанализировать свое значение на 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
Просто проверьте тип свойства 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);
Надеюсь, что это сработает.
item.Element("upload_date").Value
является структуройDateTime
?