# datetime - Convert string to a epoch time in Excel

I am trying to convert string in following format: `20130817T140000Z`(17th Aug 2013 at 14:00) to epoch time (seconds since 1970) in an MS Excel 2013.

Tried cell formatting, but it doesn't work with `T` and `Z` or the format in general.

This will convert your date into somethign Excel will understand, If you have your date in Cell A1, Then convert that into Epoch Time

``````=(DATE(LEFT(A1,4),MID(A1,5,2),MID(A1,7,2)) + TIME(MID(A1,10,2),MID(A1,12,2),MID(A1,14,2))-25569)*86400)
``````

Try this:

``````A1=20130817T140000Z
A2=DATE(LEFT(A1,4),MID(A1,5,2),MID(A1,7,2))
A3=(DATEDIF("01/01/1970 00:00:00",A2,"D")+TIME(MID(A1,10,2),MID(A1,12,2),MID(A1,14,2)))*24*60*60
``````

`A1` is your input date as text, `A2` is a formatted date, and `A3` is a seconds difference between your date and epoch start date.

Useful link

Update: based on @user2140261 suggestions.

Assuming the string to convert is in cell B1 you can use the following with a custom format on the cell to get the date/time.

``````=DATE(MID(B1,1,4),MID(B1,5,2),MID(B1,7,2))+TIME(MID(B1,10,2),MID(B1,12,2),MID(B1,14,2))
``````

The custom format is:

``````dd/mm/yyyy hh:mm:ss
``````

This will get you the date with accuracy to the minute. You can follow the pattern to get seconds if necessary.

``````=DATE(VALUE(LEFT(A1,4)),VALUE(RIGHT(LEFT(A1,6),2)),VALUE(RIGHT(LEFT(A1,8),2)))+VALUE(RIGHT(LEFT(A1,11),2))/24+VALUE(RIGHT(LEFT(A1,13),2))/(24*60)
``````

You could use this version to convert your string to Epoch time

`=(TEXT(LEFT(A1,8)&MID(A1,10,6),"0000-00-00 00\:00\:00")-25569)*86400`

This uses `TEXT` function to convert your string into a string that looks like a valid date/time - when you subtract 25569 (1/1/1970) that will co-erce that string to a valid date/time and the result can be multiplied by the number of seconds in a day to get Epoch time