Делаю rss-reader, не знаю как привести pubdate к виду которому я хочу. По умолчанию pubdate имеет вид "Tue, 06 Aug 2019 00:00:00 +0300"
как из этого сделать формат dd.MM.yyyy
В гугле необходимой информации не нашел.
Привожу код контроллера
public ActionResult Index()
{
var RSSFeed = new List<RSS>();
foreach (var url in db.Source.Where(c => c.id != null ).Select(c => c.URL))
{
WebClient wclient = new WebClient();
string RSSData = wclient.DownloadString(url);
var fromEncoding = Encoding.Default;
var bytes = fromEncoding.GetBytes(RSSData);
var toEncoding = Encoding.UTF8;
RSSData = toEncoding.GetString(bytes);
XDocument xml = XDocument.Parse(RSSData);
var RSSFeedData = (from x in xml.Descendants("item")
select new RSS
{
Title = (string)x.Element("title"),
Link = (string)x.Element("link"),
PubDate = (string)x.Element("pubDate")
});
RSSFeed.AddRange(RSSFeedData);
}
ViewBag.RSS = RSSFeed;
return View();
}
View:
<table class="table table-hover">
<thead>
<tr>
<th>Title</th>
<th>Publish Date</th>
</tr>
</thead>
<tbody>
@foreach (var item in ViewBag.RSS)
{
<tr>
<td><a href="@item.Link">@item.Title</a></td>
<td>@item.PubDate</td>
</tr>
}
</tbody>
</table>
Models:
public class RSS
{
public string Title { get; set; }
public string Link { get; set; }
public string Description { get; set; }
public string PubDate { get; set; }
}
Измените тип свойства PubDate
на DateTime
.
И далее:
PubDate = (DateTime)x.Element("pubDate")
Если это не сработает, то можно использовать:
PubDate = DateTime.Parse(x.Element("pubDate").Value)
Однако, работоспособность этого кода зависит от текущей культуры.
Вероятно, лучше всего будет указать культуру явно:
PubDate = DateTime.Parse(x.Element("pubDate").Value, CultureInfo.InvariantCulture)
И далее выводим дату в желаемом формате:
<td>@item.PubDate.ToShortDateString()</td>
Это простейший вариант, но он зависит от текущей культуры.
Лучше задать формат явно:
<td>@item.PubDate.ToString("dd.MM.yyyy")</td>
PS: и здесь тоже можно задать культуру явно.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть ответ сервера в таком виде (Camunda), хотелось бы выловить id каждого, как сие сотворить даже и не представлюПомогите пожалуйста, буду очень...