<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Date from Unusual Datetime in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746790#M234304</link>
    <description>Thanks &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/16120"&gt;@Kurt&lt;/a&gt;, What is the last part .59.210011. Is it ms? Also, if it is the default format, why doesn't sas have a function like datepart for it?</description>
    <pubDate>Wed, 09 Jun 2021 15:32:04 GMT</pubDate>
    <dc:creator>psrajput</dc:creator>
    <dc:date>2021-06-09T15:32:04Z</dc:date>
    <item>
      <title>Date from Unusual Datetime</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746773#M234296</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a variable with the unconventional datetime values such as 19MAR2017:03:56:59.210011&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I know datepart won't work as it is not a datetime rather it is in char format, is there any other way to get the date (19MAR2017) from it?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Jun 2021 14:51:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746773#M234296</guid>
      <dc:creator>psrajput</dc:creator>
      <dc:date>2021-06-09T14:51:24Z</dc:date>
    </item>
    <item>
      <title>Re: Date from Unusual Datetime</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746774#M234297</link>
      <description>&lt;P&gt;The date part i.e. 19MAR2017 is pretty conventional in the presumed unconventional data-&amp;nbsp;&lt;SPAN&gt;&lt;STRONG&gt;19MAR2017&lt;/STRONG&gt;:03:56:59.210011&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Therefore, you could just read 9 bytes with a date9. informat like-&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;need_date=input(your_date_var, date9.);

format need_date date9.;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 09 Jun 2021 14:54:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746774#M234297</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2021-06-09T14:54:46Z</dc:date>
    </item>
    <item>
      <title>Re: Date from Unusual Datetime</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746781#M234299</link>
      <description>&lt;P&gt;If the values always have 2 digits for the day of the month just use INPUT() on the original string.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;date = input(datetime_string,date9.);
format date date9.;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If you have values like&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;1MAR2017:03:56:59.210011&lt;/PRE&gt;
&lt;P&gt;then use SCAN() to get the part up to the first colon.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;date = input(scan(datetime_string,1,':'),date9.);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 09 Jun 2021 15:19:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746781#M234299</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2021-06-09T15:19:53Z</dc:date>
    </item>
    <item>
      <title>Re: Date from Unusual Datetime</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746782#M234300</link>
      <description>&lt;P&gt;Invalid argument to function INPUT at line 30 column 8.&lt;/P&gt;</description>
      <pubDate>Wed, 09 Jun 2021 15:20:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746782#M234300</guid>
      <dc:creator>psrajput</dc:creator>
      <dc:date>2021-06-09T15:20:12Z</dc:date>
    </item>
    <item>
      <title>Re: Date from Unusual Datetime</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746783#M234301</link>
      <description>&lt;P&gt;Not unconventional, this is the default SAS datetime format.&lt;/P&gt;
&lt;P&gt;See this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
dt_char = "19MAR2017:03:56:59.210011";
dt_num = input(dt_char,datetime26.);
date_num = datepart(dt_num);
format dt_num e8601dt26.6 date_num yymmdd10.;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 09 Jun 2021 15:20:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746783#M234301</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-06-09T15:20:29Z</dc:date>
    </item>
    <item>
      <title>Re: Date from Unusual Datetime</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746788#M234303</link>
      <description>Thanks, Tom. It was very close.</description>
      <pubDate>Wed, 09 Jun 2021 15:30:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746788#M234303</guid>
      <dc:creator>psrajput</dc:creator>
      <dc:date>2021-06-09T15:30:05Z</dc:date>
    </item>
    <item>
      <title>Re: Date from Unusual Datetime</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746790#M234304</link>
      <description>Thanks &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/16120"&gt;@Kurt&lt;/a&gt;, What is the last part .59.210011. Is it ms? Also, if it is the default format, why doesn't sas have a function like datepart for it?</description>
      <pubDate>Wed, 09 Jun 2021 15:32:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746790#M234304</guid>
      <dc:creator>psrajput</dc:creator>
      <dc:date>2021-06-09T15:32:04Z</dc:date>
    </item>
    <item>
      <title>Re: Date from Unusual Datetime</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746792#M234305</link>
      <description>Thanks novin.</description>
      <pubDate>Wed, 09 Jun 2021 15:32:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746792#M234305</guid>
      <dc:creator>psrajput</dc:creator>
      <dc:date>2021-06-09T15:32:40Z</dc:date>
    </item>
    <item>
      <title>Re: Date from Unusual Datetime</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746796#M234308</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/310443"&gt;@psrajput&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Invalid argument to function INPUT at line 30 column 8.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You really should show the value of the variable that created that message. &lt;/P&gt;
&lt;P&gt;I'm going out on a limb and guessing it is something like 29Feb in a non-leap year or 31Nov, invalid day for the month.&lt;/P&gt;
&lt;P&gt;You should post the diagnostic message as well, not just the error. Consider this small example that generates a similar error:&lt;/P&gt;
&lt;PRE&gt;52   data example;
53      x='19MAR2017:03:56:59.210011';
54      y='29Feb2017:03:56:59.210011';
55      datex = input(x,date9.);
56      datey = input(y,date9.);
57      format datex datey date9.;
58   run;

NOTE: Invalid argument to function INPUT at line 56 column 12.
&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;x=19MAR2017:03:56:59.210011 y=29Feb2017:03:56:59.210011 datex=19MAR2017 datey=. _ERROR_=1 _N_=1&lt;/STRONG&gt;&lt;/FONT&gt;
NOTE: Mathematical operations could not be performed at the following places. The results of the
      operations have been set to missing values.
      Each place is given by: (Number of times) at (Line):(Column).
      1 at 56:12
NOTE: The data set WORK.EXAMPLE has 1 observations and 4 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
&lt;/PRE&gt;
&lt;P&gt;The highlighted line above shows diagnostic values of the variable. In this case it is moderately easy to tell that the invalid value for Line 56, the Datey is an invalid date value. With that value you will NEVER get a valid SAS date variable because the date doesn't exist.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I learned some of this nearly 30 years ago reading a data set that had such wonderful dates as 67NOV1978.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Jun 2021 15:50:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746796#M234308</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2021-06-09T15:50:35Z</dc:date>
    </item>
    <item>
      <title>Re: Date from Unusual Datetime</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746811#M234317</link>
      <description>&lt;PRE&gt;19MAR2017&lt;/PRE&gt;
&lt;P&gt;is the date in DATE9. format, which is also the format you use in SAS to write date literals (constants):&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;"19MAR2017"d&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Next, a colon separates date from time, which you get as hours, minutes and seconds separated by colons, and the fractional part of a second after a dot.&lt;/P&gt;
&lt;P&gt;So the&lt;/P&gt;
&lt;PRE&gt;.210011&lt;/PRE&gt;
&lt;P&gt;are in fact microseconds.&lt;/P&gt;
&lt;P&gt;The character string you have is written in the "default" DATETIME format that you would also use for a datetime constant in code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;"19MAR2017:03:56:59.210011"dt&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;But this string is just a string, not a datetime value yet. Datetime values in SAS are numbers, counting the seconds from 1960-01-01:00:00:00. The DATEPART function needs such a value as argument, it does not work on character strings.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Jun 2021 16:52:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-from-Unusual-Datetime/m-p/746811#M234317</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-06-09T16:52:08Z</dc:date>
    </item>
  </channel>
</rss>

