开发者

How to format Date in ASP.NET

开发者 https://www.devze.com 2023-03-25 03:55 出处:网络
I am running my Facebook status feed through Yahoo pipes and outputting/embedding it on to a page my own hosted website.

I am running my Facebook status feed through Yahoo pipes and outputting/embedding it on to a page my own hosted website.

The XML feed contains a date. I want to format the date but don't know how to. The XML part is date output is...<pubDate>Thu, 14 Jul 2011 20:38:07 +0100</pubDate> and I would like it to render something like 14/07/2011.

Any help much appreciated.

I have c# code...

protected void Page_Load(object sender, EventArgs e)
    {

        WebRequest MyRssRequest = WebRequest.Create("http://pipes.yahoo.com/pipes/pipe.run?FacebookRssUrl=http%3A%2F%2开发者_StackOverflow社区Fwww.facebook.com%2Ffeeds%2Fpage.php%3Fid%3D456456456456456%26format%3Drss20&_id=456456456456456456464&_render=rss");
        WebResponse MyRssResponse = MyRssRequest.GetResponse();

        Stream MyRssStream = MyRssResponse.GetResponseStream();

        // Load previously created XML Document
        XmlDocument MyRssDocument = new XmlDocument();
        MyRssDocument.Load(MyRssStream);

        XmlNodeList MyRssList = MyRssDocument.SelectNodes("rss/channel/item");

        string sTitle = "";
        string sLink = "";
        string sDescription = "";

        // Iterate/Loop through RSS Feed items
        for (int i = 0; i < 3; i++)
        {
            XmlNode MyRssDetail;

            MyRssDetail = MyRssList.Item(i).SelectSingleNode("title");
            if (MyRssDetail != null)
                sTitle = MyRssDetail.InnerText;
            else
                sTitle = "";

            MyRssDetail = MyRssList.Item(i).SelectSingleNode("link");
            if (MyRssDetail != null)
                sLink = MyRssDetail.InnerText;
            else
                sLink = "";

            MyRssDetail = MyRssList.Item(i).SelectSingleNode("pubDate");
            if (MyRssDetail != null)
                sDescription = MyRssDetail.InnerText;

            else
            {
                sDescription = "";
            }

            // Now generating HTML table rows and cells based on Title,Link & Description
            HtmlTableCell block = new HtmlTableCell();
            block.InnerHtml = "<span style='font-weight:bold'><a href='" + sLink + "' target='new'>"+ sTitle + "</a></span>";
            HtmlTableRow row = new HtmlTableRow();
            row.Cells.Add(block);
            tbl_Feed_Reader.Rows.Add(row);
            HtmlTableCell block_description = new HtmlTableCell();
            block_description.InnerHtml = "<p align='justify'>" + sDescription + "</p>";
            HtmlTableRow row2 = new HtmlTableRow();
            row2.Cells.Add(block_description);
            tbl_Feed_Reader.Rows.Add(row2);
        }
    }


You can parse it to DateTime and render it in specific format you want.

var x = DateTime.Parse(MyRssDetail.InnerText);
//Your date format
sDescription = x.ToString("d MMM yyyy");


You can save the date by using DateTime.Parse or DateTime.ParseExact.

DateTime xmlDateTime = DateTime.Parse(xmlValue);

From there, it's a matter of outputting it using DateTime.ToString() with the desired format parameters (or any of the built-in ToShortDateString, ToLongDateString, ToShortTimeString, etc.)

xmlDateTime.ToShortDateString();


I would do something like:

DateTime parsedDate=DateTime.Min;
if(DateTime.TryParse(xmlStringWithDate,ref parsedDate))
{
   //Do something useful with parsedDate since the parse was successful
}


You could use String.Format to do this:

 sDescription = String.Format("{0:D}", MyRssDetail.InnerText);

Or convert it to a date, then go from there:

sDescription = Convert.ToDateTime(MyRssDetail.InnerText).toShortDateString();


String.Format({0:D}, dateToFormat)

I am assuming you want to do the pubDate?

sDescription = String.Format({0:D}, MyRssDetail.InnerText.ToDate())
0

精彩评论

暂无评论...
验证码 换一张
取 消