<?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: SAS iso8601dt format with input + put in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-iso8601dt-format-with-input-put/m-p/87902#M257132</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hmm,&lt;BR /&gt; Would it be the $18. ouput being one too short 16+3 chars is 19 chars.&amp;nbsp; &lt;BR /&gt; Indeed leaving out code not necessary is also causing less trouble... (See simplified code of jagadish)&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 24 Jul 2013 16:10:06 GMT</pubDate>
    <dc:creator>jakarman</dc:creator>
    <dc:date>2013-07-24T16:10:06Z</dc:date>
    <item>
      <title>SAS iso8601dt format with input + put</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-iso8601dt-format-with-input-put/m-p/87899#M257129</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Had an oddity whilst reading in some iso date data.&amp;nbsp; The data looks something like:&lt;/P&gt;&lt;P&gt;AESTDTC&lt;/P&gt;&lt;P&gt;2013-02-02T08:00&lt;/P&gt;&lt;P&gt;2013-02-01&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now first program used this syntax (in a proc sql):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; when length(strip(AESTDTC))=16 then input(put(strip(AESTDTC)||":00",$18.),is8601dt.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; when length(strip(AESTDTC))=10 then input(put(strip(AESTDTC)||"T:00:00:00",$18.),is8601dt.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else . end) as TMP_VAR format=datetime20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This gave a peculier result of:&lt;/P&gt;&lt;P&gt;AESTDTC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMP_VAR&lt;/P&gt;&lt;P&gt;2013-02-02T08:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 02FEB2013 08:00:02&lt;/P&gt;&lt;P&gt;2013-02-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01FEB2013 00:00:02&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Notice the seconds on the Iso date.&amp;nbsp; Anyone seen this or know why, just out of interest?&amp;nbsp; I have now corrected this to use input:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; when length(strip(AESTDTC))=16 then input(AESTDTC,is8601dt.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; when length(strip(AESTDTC))=10 then input(AESTDTC,is8601da.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else . end) as TMP_VAR format=datetime20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jul 2013 08:51:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-iso8601dt-format-with-input-put/m-p/87899#M257129</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2013-07-24T08:51:38Z</dc:date>
    </item>
    <item>
      <title>Re: SAS iso8601dt format with input + put</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-iso8601dt-format-with-input-put/m-p/87900#M257130</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You have a datetime value defined....&amp;nbsp; It is calculated as the seconds relative to 1jan1960 (LR concepts).&lt;BR /&gt;So the value of 2Feb2013:00:00:00 will become:&amp;nbsp; ( 53 years, 33 days ) *24 *3600 = 1 675 404 000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; === . (53*356,25 + 33)&amp;nbsp;&amp;nbsp; 24 hour/ day 3600 seconds/hour (approximity) &lt;BR /&gt;Probably hiiting a numeric precison flaw of an internal conversion steps.: &lt;A href="http://support.sas.com/kb/31/560.html" title="http://support.sas.com/kb/31/560.html"&gt;31560 - Choosing your degree of numeric precision&lt;/A&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jul 2013 09:18:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-iso8601dt-format-with-input-put/m-p/87900#M257130</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2013-07-24T09:18:33Z</dc:date>
    </item>
    <item>
      <title>Re: SAS iso8601dt format with input + put</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-iso8601dt-format-with-input-put/m-p/87901#M257131</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please check the below code, its is producing the accurate results for time as well&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table text_ as &lt;/P&gt;&lt;P&gt;select date, case &lt;/P&gt;&lt;P&gt;when length(strip(date))=16 then input(date||':00',is8601dt.)&lt;/P&gt;&lt;P&gt;when length(strip(date))=10 then input(compress(date||'T00:00:00'),is8601dt.)&lt;/P&gt;&lt;P&gt;else .&lt;/P&gt;&lt;P&gt;end as tmp_var format=datetime20. from text;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;output;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Obs&lt;/TD&gt;&lt;TD&gt;date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;tmp_var&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;1 &lt;/TD&gt;&lt;TD&gt;2013-02-02T08:00&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;02FEB2013:08:00:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;2 &lt;/TD&gt;&lt;TD&gt;2013-02-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;01FEB2013:00:00:00&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Jagadish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jul 2013 15:51:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-iso8601dt-format-with-input-put/m-p/87901#M257131</guid>
      <dc:creator>Jagadishkatam</dc:creator>
      <dc:date>2013-07-24T15:51:28Z</dc:date>
    </item>
    <item>
      <title>Re: SAS iso8601dt format with input + put</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-iso8601dt-format-with-input-put/m-p/87902#M257132</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hmm,&lt;BR /&gt; Would it be the $18. ouput being one too short 16+3 chars is 19 chars.&amp;nbsp; &lt;BR /&gt; Indeed leaving out code not necessary is also causing less trouble... (See simplified code of jagadish)&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jul 2013 16:10:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-iso8601dt-format-with-input-put/m-p/87902#M257132</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2013-07-24T16:10:06Z</dc:date>
    </item>
    <item>
      <title>Re: SAS iso8601dt format with input + put</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-iso8601dt-format-with-input-put/m-p/87903#M257133</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your replies. I can safely say I feel daft now, not being able to count how many characters are in my string.&amp;nbsp; You are indeed correct it should be $19. and hence was rounding a shortned value.&amp;nbsp; Time for cup of tea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jul 2013 09:34:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-iso8601dt-format-with-input-put/m-p/87903#M257133</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2013-07-25T09:34:00Z</dc:date>
    </item>
  </channel>
</rss>

