开发者

How to customize datetime format or to convert DateTime to String with required format

I have a DateTime string in 24 HOURS format .. "2009-12-31T23:59:59"

I want it in this format .. "12/31/2009 23:59:59" that is: "MM/DD/YYYY HH:MM:SS"

When I tried to covert it to string I am getting "12/31/2009 11:59:59 PM" .. though I can write a code for string manipulation .. it doesn't seem to be the efficient one .. Moreover the case become worst when I have dateTime value like "2009-1-1T1:19:15" .. here, as the string length is vary开发者_运维技巧ing, I can't even trace the value of Hours and months using substring() and convert.ToInt() ..

I am using visual studio 2005, It is throwing error saying "Cannot implicitly convert DateTime to String" when I write this statement: ..

result = Convert.ToString(dateValue);

I simplify my question: Is there any method to convert "yyyy-mm-ddThh:mm:ss" format to "mm/dd/yyyy hh:mm:ss" .. And it must work in visual studio 2005 ..


You need to use ParseExact to get it back to datetime:

string FormatDateTime(string dateString) {
    DateTime dt = DateTime.ParseExact(dateString, "yyyy-MM-ddTHH:mm:ss", DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None);
    return dt.ToString("MM/dd/yyyy HH:mm:ss");
}

That should give you the desired output you are looking for. By using InvariantInfo, it will make sure you system settings don't replace the slashes with whatever you have currently defined in the system. I think I saw in the comments that you had a "." being used as your date separator.

http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.dateseparator.aspx http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.invariantinfo.aspx


Something like:

string s = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");


string FormatDateString(string date_string)
{
    DateTime date;
    if (!DateTime.TryParse(date_string, out date)
    {
        return null;
    }

    return date.ToString("MM/dd/yyyy HH:mm:ss");
}


It's something like this: XmlConvert.ToDateTime(yourDate, "yyyy-MM-dd\Thh:mm:ss").ToString("MM/dd/yyyy HH:MM:SS")

Check here for more info:

http://msdn.microsoft.com/en-us/library/kzk5c6y9.aspx

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜