Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to convert DateTime to/from specific string format (both ways, e.g. given Format is "yyyyMMdd")?

I am having a problem converting a datetime which is in string format but I am not able to convert it using "yyyyMMdd" format.

My code is:

string tpoc = refSubClaim.BenefitsFolder.BenefitFolderIdNumber.ToString();
string[] tpocinfo = Regex.Split(tpoc,";");

for (int i = 0; i < tpocinfo.Length; i++)
{
    switch (i)
    {
        case 0:
        {
            string[] tpoc2 = Regex.Split(tpocinfo[0], ",");
            claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString();
            claimantAuxillaryRecord.TPOCAmount2 = Convert.ToDecimal(tpoc2[1]);
            claimantAuxillaryRecord.FundingDelayedBeyondTPOCStartDate2 = tpoc2[2].ToString();
        }
        break;
like image 240
Ashutosh Avatar asked Aug 13 '10 14:08

Ashutosh


People also ask

How do I convert time to string in Python?

To convert Python datetime to string, use the strftime() function. The strftime() method is a built-in Python method that returns the string representing date and time using date, time, or datetime object.


12 Answers

if you have a date in a string with the format "ddMMyyyy" and want to convert it to "yyyyMMdd" you could do like this:

DateTime dt = DateTime.ParseExact(dateString, "ddMMyyyy", 
                                  CultureInfo.InvariantCulture);
dt.ToString("yyyyMMdd");
like image 180
Falle1234 Avatar answered Oct 05 '22 12:10

Falle1234


Parsing DateTime:

To parse a DateTime, use one of the following methods:

  • DateTime.Parse
  • DateTime.ParseExact

Alternatively, you may use try-parse pattern:

  • DateTime.TryParse
  • DateTime.TryParseExact

Read more about Custom Date and Time Format Strings.

Converting DateTime to a string:

To return a DateTime as a string in "yyyyMMdd" format, you may use ToString method.

  • Code snippet example: string date = DateTime.ToString("yyyyMMdd");
  • Note upper-cased M's refer to months and lower-cased m's to minutes.

Your case:

In your case, assuming you don't want to handle scenario when date is different format or misssing, it would be most convenient to use ParseExact:

string dateToParse = "20170506";
DateTime parsedDate = DateTime.ParseExact(dateToParse, 
                                          "yyyyMMdd",
                                          CultureInfo.InvariantCulture);
like image 33
Dariusz Woźniak Avatar answered Oct 05 '22 12:10

Dariusz Woźniak


You can convert your string to a DateTime value like this:

DateTime date = DateTime.Parse(something);

You can convert a DateTime value to a formatted string like this:

date.ToString("yyyyMMdd");
like image 21
SLaks Avatar answered Oct 05 '22 13:10

SLaks


String to yyyy-MM-dd date format: Example:

TxtCalStDate.Text = Convert.ToDateTime(objItem["StartDate"]).ToString("yyyy/MM/dd");   
like image 23
NSiva Avatar answered Oct 05 '22 13:10

NSiva


If you want to have DATE as string with TIME as well. We can do like this:

    //Date and Time is taking as current system Date-Time    
    DateTime.Now.ToString("yyyyMMdd-HHmmss");
like image 41
Anish Avatar answered Oct 05 '22 11:10

Anish


Use DateTime.TryParseExact() if you want to match against a specific date format

   string format = "yyyyMMdd"; 
    DateTime dateTime;
    DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture,
                                             DateTimeStyles.None, out dateTime);
like image 37
Mudassir Hasan Avatar answered Oct 05 '22 12:10

Mudassir Hasan


You could use DateTime.TryParse() instead of DateTime.Parse().
With TryParse() you have a return value if it was successful and with Parse() you have to handle an exception

like image 32
peter Avatar answered Oct 05 '22 13:10

peter


Simply just do in this way.

string yourFormat = DateTime.Now.ToString("yyyyMMdd");

Happy coding :)

like image 42
Prashant-Systematix Avatar answered Oct 05 '22 12:10

Prashant-Systematix


no its a string with yyyy/mm/dd and i need it in yyyyMMdd format

If you only need to remove the slashes from a string don't you just replace them?

Example:

myDateString = "2013/03/28";
myDateString = myDateString.Replace("/", "");

myDateString should now be "20130328".

Less of an overkill :)

like image 41
SergioMSCosta Avatar answered Oct 05 '22 13:10

SergioMSCosta


It's the Simple way to convert to format

 DateTime.Now.ToString("yyyyMMdd");
like image 42
manoj kumar Avatar answered Oct 05 '22 12:10

manoj kumar


Based on the property names it looks like you are trying to convert a string to a date by assignment:

claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString();

It is probably due to the current UI culture and therefore it cannot interpret the date string correctly when assigned.

like image 36
Peter Avatar answered Oct 05 '22 13:10

Peter


From C# 6:

var dateTimeUtcAsString = $"{DateTime.UtcNow:o}";

The result will be: "2019-01-15T11:46:33.2752667Z"

like image 40
ben alfasi Avatar answered Oct 05 '22 12:10

ben alfasi