Re: split a number to Date format

• To: mathgroup at smc.vnet.net
• Subject: [mg124246] Re: split a number to Date format
• From: "David Park" <djmpark at comcast.net>
• Date: Sat, 14 Jan 2012 17:09:43 -0500 (EST)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• References: <29981906.61970.1326529492115.JavaMail.root@m06>

```Derek,

Basically you want to use RealDigits to extract the digits from the number
and then work with them. Paste the following into a notebook and evaluate:

RealDigits[111205020000]
First[%]
Partition[%, 2]
FromDigits /@ %
MapAt[# + 2000 &, %, 1]
DateString[%]

You can then wind this up backwards, replacing each % by the previous entry
and the number by a variable, to obtain a one-liner definition:

toDateString[number_] :=
DateString[
MapAt[# + 2000 &,
FromDigits /@ Partition[First[RealDigits[number]], 2], 1]]

toDateString[111205020000]
Mon 5 Dec 2011 02:00:00

Or it may be easier to write a more explicit form of the function using
Module:

toDateString[number_] :=
Module[{work},
work = First[RealDigits[number]];
work = Partition[work, 2];
work = FromDigits /@ work;
work = MapAt[# + 2000 &, work, 1];
DateString[work]
]

toDateString[111205020000]
Mon 5 Dec 2011 02:00:00

David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/index.html

From: Derek Martin [mailto:cdmartin at me.com]

I have experimental data in spreadsheet format.  The first column is a time
stamp in the format 111205020000.
If I could parse or split the number 111205020000 into {11,12,05,02,00,00}
and replace the first 11 with 2011, the Date commands would work fine. I can
do the replacing, but am having difficulty seeing how to split the number
into  {11,12,05,02,00,00}.

DateString[{2011, 12, 05, 02, 00, 00}] gives "Mon 5 Dec 2011 02:00:00"

Any help to convert my number to the right Date format would be appreciated.
I am using Mathematica 8.