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. Thanks in Advance Derek