On 2/10/14 at 3:01 AM, fgutiers2002 at yahoo.com (Francisco Gutierrez)
wrote:
>Manipulating and importing/exporting dates is always a pain in the
>neck, in any of the languages I am aware of. Mathematica has
>functions to work around many of these issues, and I was actually
>able to complete the task I was involved in, but even then there is
>an issue I obviously do not understand.
>Say I have this date in an Excel sheet: 01/08/2007. I import in into
>Mathematica. I want to prevent it from becoming an arithmetical
>expression, so I sorround it by Unevaluated, HoldAll, and other
>hold-like devices, but I do not obtain the desired result. The date
>becomes a division. For example, the output of
>HoldComplete[2+2] is HoldComplete[2+2] , but instead the output
>of HoldComplete[
>01/08/2007] is HoldComplete[1/(8x 2007)].
I use one of two methods to move dates from Excel to
Mathematica. First, is to simply use Import to import the entire
spread sheet or some portion of it into Mathematica. Import will
return {2007,1,8} for a cell with the Excel date 01/08/2007.
The second way would be to reformat the Excel cell containing
the date as General which will convert the cell to display an
integer 39090. Then I can copy and paste that integer into a
Mathematica expression to get a date as follows:
In[2]:= DateString[(39090 - 2) 86400]
Out[2]= Mon 8 Jan 2007 00:00:00
The 2 is to adjust for an offset between Excel and Mathematica
date formats. The second constant is the number of seconds in a
day, required since Excel tracks dates in terms of days while
Mathematica does so in terms of seconds.