我正在从API访问数据,并返回JSON中的日期值,格式为2014-12-01。我已将此分配给类并绑定到列表框控件中的文本块,并且显示正常。但是,有没有办法以“2014年12月20日星期四”的格式显示日期。
我正在使用c#.NET for windows phone 8.下面的代码片段介绍了如何返回数据。
while (count < ja.Count) {
SkiddleEvents content = new SkiddleEvents();
//EVENT DETAILS
if (ja[count]["imageurl"] != null) {
content.str_eventImage = ja[count]["imageurl"].ToString();
}
else {
Uri imageUrl = new Uri("/Assets/placeholder.jpg", UriKind.Relative);
content.str_eventImage = imageUrl.ToString();
}
content.str_eventID = ja[count]["id"].ToString();
content.str_eventName = ja[count]["eventname"].ToString();
content.str_eventDate = ja[count]["date"].ToString();
content.str_eventAddress = ja[count]["venue"]["address"].ToString() + ", " + ja[count]["venue"]["town"].ToString();
content.str_venueID = ja[count]["venue"]["id"].ToString();
//add the content to the list box and increase the count
contentList.Add(content);
count++;
}
答案 0 :(得分:1)
将此行更改为:
DateTime eventDate = DateTime.MinValue;
if (DateTime.TryParse(ja[count]["date"], out eventDate))
{
content.str_eventDate = string.Format("{0:dddd dd}{1} {0:MMMM yyyy}",
eventDate,
(eventDate.Day == 1)
? "st"
: (eventDate.Day == 2)
? "nd"
: (eventDate.Day == 3)
? "rd"
: "th");
}
那应该可以获得你想要的格式。
从此处获取日期时间格式:Getting day suffix when using DateTime.ToString()
答案 1 :(得分:0)
将JSON date
字段转换为DateTime
对象。
DateTime dt = DateTime.Parse(content.str_eventDate = ja[count]["date"].ToString());
string formattedDate = dt.ToString("G");
有关自定义日期/时间格式,请参阅here。