I used following functions to convert DateTime
from/into string
:
DATE_OBJ.ToString(DATE_FORMAT);
DateTime.ParseExact(Date_string, DATE_FORMAT, null);
Now I've got to work with follow format 2012-03-20T14:18:25.000+04:00
Which format should I use to convert it correctly to string
and generate string
like that from DateTime
object?
The T is just a literal to separate the date from the time, and the Z means “zero hour offset” also known as “Zulu time” (UTC). If your strings always have a “Z” you can use: SimpleDateFormat format = new SimpleDateFormat( “yyyy-MM-dd'T'HH:mm:ss).
In order to convert a DateTime to a string, we can use CONVERT() and CAST() function. These functions are used to converts a value(of any datatype) into a specified datatype.
You cannot do this from DateTime
, as DateTime
holds no TimeZone
info.
This is close: string.Format("{0:s}", dt)
will give 2012-03-20T14:18:25
.
See: http://www.csharp-examples.net/string-format-datetime/
You could extend this to: string.Format("{0:s}.{0:fff}", dt)
, which will give 2012-03-20T14:18:25.000
But you better have a look at DateTimeOffset
: DateTime vs DateTimeOffset
(Not advisable, but to fake it and still use DateTime
: string.Format("{0:s}.{0:fff}+04:00", dt)
)
You can go from DateTime to that format with
DateTime dt = new DateTime();
dt.ToString("o");
and from that format to DateTime with
DateTimeOffset.Parse(dateString);
Here is some more info on DateTime format: http://www.dotnetperls.com/datetime-format
You are better of using DateTimeOffSet like:
string str = " 2012-03-20T14:18:25.000+04:00";
DateTimeOffset dto = DateTimeOffset.Parse(str);
//Get the date object from the string.
DateTime dtObject = dto.DateTime;
//Convert the DateTimeOffSet to string.
string newVal = dto.ToString("o");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With