<?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 How to convert dates from Gregorian to Solar Hijri calendar in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/410224#M279652</link>
    <description>&lt;P&gt;Hello everybody;&lt;/P&gt;&lt;P&gt;I want to convert the gregorian date to solar Hijri calendar (&lt;A title="http://en.wikipedia.org/wiki/Iranian_calendars" href="http://en.wikipedia.org/wiki/Iranian_calendars" target="_blank" rel="nofollow noopener noreferrer"&gt;Iranian calendars - Wikipedia, the free encyclopedia&lt;/A&gt;). I found a program in &lt;A href="https://communities.sas.com/t5/General-SAS-Programming/Convert-dates-from-between-Hijri-Islamic-and-gregorian/td-p/135983" target="_self"&gt;previous posts&lt;/A&gt; which was written&amp;nbsp;by&amp;nbsp;@art297 and it is awesome to convert &lt;STRONG&gt;solar Hijri to G&lt;/STRONG&gt;&lt;SPAN&gt;&lt;STRONG&gt;regorian&amp;nbsp;calendar &lt;/STRONG&gt;as shown below:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data ctrl (keep=fmtname type start label);
  informat gdates $31.;
  infile cards dlm=',';
  input _pyear $ gdates &amp;amp;;
  retain fmtname 'pdate' type 'j';
  leap=index(_pyear,'*');
  pyear=input(compress(_pyear,'*'),12.);
  bday=input(scan(gdates,1,'.'),12.);
  byear=input(scan(gdates,3),12.);
  bmonth=3;
  if _n_ eq 1 then label=mdy(bmonth,bday,byear)-1;
  do pmonth=1 to 12;
    if pmonth le 6 then eday=31;
    else if pmonth le 11 then eday=30;
    else if leap then eday=30;
    else eday=29;
    do pday=1 to eday;
      label+1;
      start=catx('-',pyear,put(pmonth,z2.),put(pday,z2.));
      output;
    end;
  end;
  cards;
1354*,21. March 1975 – 20. March 1976
1355,21. March 1976 – 20. March 1977
1356,21. March 1977 – 20. March 1978
1357,21. March 1978 – 20. March 1979
1358*,21. March 1979 – 20. March 1980
1359,21. March 1980 – 20. March 1981
1360,21. March 1981 – 20. March 1982
1361,21. March 1982 – 20. March 1983
1362*,21. March 1983 – 20. March 1984
1363,21. March 1984 – 20. March 1985
1364,21. March 1985 – 20. March 1986
1365,21. March 1986 – 20. March 1987
1366*,21. March 1987 – 20. March 1988
1367,21. March 1988 – 20. March 1989
1368,21. March 1989 – 20. March 1990
1369,21. March 1990 – 20. March 1991
1370*,21. March 1991 – 20. March 1992
1371,21. March 1992 – 20. March 1993
1372,21. March 1993 – 20. March 1994
1373,21. March 1994 – 20. March 1995
1374,21. March 1995 – 19. March 1996
1375*,20. March 1996 – 20. March 1997
1376,21. March 1997 – 20. March 1998
1377,21. March 1998 – 20. March 1999
1378,21. March 1999 – 19. March 2000
1379*,20. March 2000 – 20. March 2001
1380,21. March 2001 – 20. March 2002
1381,21. March 2002 – 20. March 2003
1382,21. March 2003 – 19. March 2004
1383*,20. March 2004 – 20. March 2005
1384,21. March 2005 – 20. March 2006
1385,21. March 2006 – 20. March 2007
1386,21. March 2007 – 19. March 2008
1387*,20. March 2008 – 20. March 2009
1388,21. March 2009 – 20. March 2010
1389,21. March 2010 – 20. March 2011
1390,21. March 2011 – 19. March 2012
1391*,20. March 2012 – 20. March 2013
1392,21. March 2013 – 20. March 2014
1393,21. March 2014 – 20. March 2015
1394,21. March 2015 – 19. March 2016
1395*,20. March 2016 – 20. March 2017
1396,21. March 2017 – 20. March 2018
1397,21. March 2018 – 20. March 2019
1398,21. March 2019 – 19. March 2020
1399*,20. March 2020 – 20. March 2021
1400,21. March 2021 – 20. March 2022
1401,21. March 2022 – 20. March 2023
1402,21. March 2023 – 19. March 2024
1403*,20. March 2024 – 20. March 2025
1404,21. March 2025 – 20. March 2026
1405,21. March 2026 – 20. March 2027
1406,21. March 2027 – 19. March 2028
1407,20. March 2028 – 19. March 2029
1408*,20. March 2029 – 20. March 2030
1409,21. March 2030 – 20. March 2031
1410,21. March 2031 – 19. March 2032
1411,20. March 2032 – 19. March 2033
1412*,20. March 2033 – 20. March 2034
1413,21. March 2034 – 20. March 2035
1414,21. March 2035 – 19. March 2036
1415,20. March 2036 – 19. March 2037
1416*,20. March 2037 – 20. March 2038
1417,21. March 2038 – 20. March 2039
1418,21. March 2039 – 19. March 2040
1419,20. March 2040 – 19. March 2041
;
proc format library=work cntlin=ctrl;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Here is a sample of my data:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data WORK.SAMPLEDATA_1;
  infile datalines dsd truncover;
  input TRD_EVENT_TM:$24. TRD_STCK_CD:$15. TRD_PR:32. TRD_TUROVR:13. TRD_EVENT_DT:DATE9.;
  format TRD_TUROVR 13. TRD_EVENT_DT DATE9.;
  label TRD_EVENT_TM="TRD_EVENT_TM" TRD_STCK_CD="TRD_STCK_CD" TRD_PR="TRD_PR" TRD_TUROVR="TRD_TUROVR";
datalines4;
12:19:35,IKCQ1,1,100,24MAR2008
12:28:01,ALBZ1,1537,10000,26MAR2008
13:13:44,ALBZ1,1567,10,12MAY2009
12:20:38,AZAB1,683,10000,14JUL2011
13:13:44,AZAB1,695,10,11OCT2013
09:14:57,BALI1,850,9260,23MAR2008
09:15:06,BALI1,850,2000,25APR2008
09:15:14,BALI1,850,10000,14JUN2009
09:15:24,BALI1,850,6000,18JUL2010
09:29:27,BALI1,850,10000,11SEP2011
12:28:00,BALI1,850,10000,20OCT2012
12:28:07,BALI1,850,10000,24NOV2012
13:13:44,BALI1,865,10,26NOV2012
09:38:04,BANK1,1164,10729,13AUG2008
11:24:44,BANK1,1148,2000,15JAN2009
11:24:46,BANK1,1147,1575,19MAR2009
12:10:34,BANK1,1147,5000,17MAY2010
12:10:34,BANK1,1147,3425,22AUG2012
12:14:55,BANK1,1141,41575,24AUG2013
12:14:55,BANK1,1141,8425,24OCT2013
;;;;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Now, I need a program to reverse this procedure and convert Gregorian to Solar Hijri calendar.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Would anybody please tell me how&amp;nbsp;can I do that?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks in advance.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 03 Nov 2017 14:00:32 GMT</pubDate>
    <dc:creator>aminkarimid</dc:creator>
    <dc:date>2017-11-03T14:00:32Z</dc:date>
    <item>
      <title>How to convert dates from Gregorian to Solar Hijri calendar</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/410224#M279652</link>
      <description>&lt;P&gt;Hello everybody;&lt;/P&gt;&lt;P&gt;I want to convert the gregorian date to solar Hijri calendar (&lt;A title="http://en.wikipedia.org/wiki/Iranian_calendars" href="http://en.wikipedia.org/wiki/Iranian_calendars" target="_blank" rel="nofollow noopener noreferrer"&gt;Iranian calendars - Wikipedia, the free encyclopedia&lt;/A&gt;). I found a program in &lt;A href="https://communities.sas.com/t5/General-SAS-Programming/Convert-dates-from-between-Hijri-Islamic-and-gregorian/td-p/135983" target="_self"&gt;previous posts&lt;/A&gt; which was written&amp;nbsp;by&amp;nbsp;@art297 and it is awesome to convert &lt;STRONG&gt;solar Hijri to G&lt;/STRONG&gt;&lt;SPAN&gt;&lt;STRONG&gt;regorian&amp;nbsp;calendar &lt;/STRONG&gt;as shown below:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data ctrl (keep=fmtname type start label);
  informat gdates $31.;
  infile cards dlm=',';
  input _pyear $ gdates &amp;amp;;
  retain fmtname 'pdate' type 'j';
  leap=index(_pyear,'*');
  pyear=input(compress(_pyear,'*'),12.);
  bday=input(scan(gdates,1,'.'),12.);
  byear=input(scan(gdates,3),12.);
  bmonth=3;
  if _n_ eq 1 then label=mdy(bmonth,bday,byear)-1;
  do pmonth=1 to 12;
    if pmonth le 6 then eday=31;
    else if pmonth le 11 then eday=30;
    else if leap then eday=30;
    else eday=29;
    do pday=1 to eday;
      label+1;
      start=catx('-',pyear,put(pmonth,z2.),put(pday,z2.));
      output;
    end;
  end;
  cards;
1354*,21. March 1975 – 20. March 1976
1355,21. March 1976 – 20. March 1977
1356,21. March 1977 – 20. March 1978
1357,21. March 1978 – 20. March 1979
1358*,21. March 1979 – 20. March 1980
1359,21. March 1980 – 20. March 1981
1360,21. March 1981 – 20. March 1982
1361,21. March 1982 – 20. March 1983
1362*,21. March 1983 – 20. March 1984
1363,21. March 1984 – 20. March 1985
1364,21. March 1985 – 20. March 1986
1365,21. March 1986 – 20. March 1987
1366*,21. March 1987 – 20. March 1988
1367,21. March 1988 – 20. March 1989
1368,21. March 1989 – 20. March 1990
1369,21. March 1990 – 20. March 1991
1370*,21. March 1991 – 20. March 1992
1371,21. March 1992 – 20. March 1993
1372,21. March 1993 – 20. March 1994
1373,21. March 1994 – 20. March 1995
1374,21. March 1995 – 19. March 1996
1375*,20. March 1996 – 20. March 1997
1376,21. March 1997 – 20. March 1998
1377,21. March 1998 – 20. March 1999
1378,21. March 1999 – 19. March 2000
1379*,20. March 2000 – 20. March 2001
1380,21. March 2001 – 20. March 2002
1381,21. March 2002 – 20. March 2003
1382,21. March 2003 – 19. March 2004
1383*,20. March 2004 – 20. March 2005
1384,21. March 2005 – 20. March 2006
1385,21. March 2006 – 20. March 2007
1386,21. March 2007 – 19. March 2008
1387*,20. March 2008 – 20. March 2009
1388,21. March 2009 – 20. March 2010
1389,21. March 2010 – 20. March 2011
1390,21. March 2011 – 19. March 2012
1391*,20. March 2012 – 20. March 2013
1392,21. March 2013 – 20. March 2014
1393,21. March 2014 – 20. March 2015
1394,21. March 2015 – 19. March 2016
1395*,20. March 2016 – 20. March 2017
1396,21. March 2017 – 20. March 2018
1397,21. March 2018 – 20. March 2019
1398,21. March 2019 – 19. March 2020
1399*,20. March 2020 – 20. March 2021
1400,21. March 2021 – 20. March 2022
1401,21. March 2022 – 20. March 2023
1402,21. March 2023 – 19. March 2024
1403*,20. March 2024 – 20. March 2025
1404,21. March 2025 – 20. March 2026
1405,21. March 2026 – 20. March 2027
1406,21. March 2027 – 19. March 2028
1407,20. March 2028 – 19. March 2029
1408*,20. March 2029 – 20. March 2030
1409,21. March 2030 – 20. March 2031
1410,21. March 2031 – 19. March 2032
1411,20. March 2032 – 19. March 2033
1412*,20. March 2033 – 20. March 2034
1413,21. March 2034 – 20. March 2035
1414,21. March 2035 – 19. March 2036
1415,20. March 2036 – 19. March 2037
1416*,20. March 2037 – 20. March 2038
1417,21. March 2038 – 20. March 2039
1418,21. March 2039 – 19. March 2040
1419,20. March 2040 – 19. March 2041
;
proc format library=work cntlin=ctrl;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Here is a sample of my data:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data WORK.SAMPLEDATA_1;
  infile datalines dsd truncover;
  input TRD_EVENT_TM:$24. TRD_STCK_CD:$15. TRD_PR:32. TRD_TUROVR:13. TRD_EVENT_DT:DATE9.;
  format TRD_TUROVR 13. TRD_EVENT_DT DATE9.;
  label TRD_EVENT_TM="TRD_EVENT_TM" TRD_STCK_CD="TRD_STCK_CD" TRD_PR="TRD_PR" TRD_TUROVR="TRD_TUROVR";
datalines4;
12:19:35,IKCQ1,1,100,24MAR2008
12:28:01,ALBZ1,1537,10000,26MAR2008
13:13:44,ALBZ1,1567,10,12MAY2009
12:20:38,AZAB1,683,10000,14JUL2011
13:13:44,AZAB1,695,10,11OCT2013
09:14:57,BALI1,850,9260,23MAR2008
09:15:06,BALI1,850,2000,25APR2008
09:15:14,BALI1,850,10000,14JUN2009
09:15:24,BALI1,850,6000,18JUL2010
09:29:27,BALI1,850,10000,11SEP2011
12:28:00,BALI1,850,10000,20OCT2012
12:28:07,BALI1,850,10000,24NOV2012
13:13:44,BALI1,865,10,26NOV2012
09:38:04,BANK1,1164,10729,13AUG2008
11:24:44,BANK1,1148,2000,15JAN2009
11:24:46,BANK1,1147,1575,19MAR2009
12:10:34,BANK1,1147,5000,17MAY2010
12:10:34,BANK1,1147,3425,22AUG2012
12:14:55,BANK1,1141,41575,24AUG2013
12:14:55,BANK1,1141,8425,24OCT2013
;;;;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Now, I need a program to reverse this procedure and convert Gregorian to Solar Hijri calendar.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Would anybody please tell me how&amp;nbsp;can I do that?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks in advance.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Nov 2017 14:00:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/410224#M279652</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-11-03T14:00:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert dates from Gregorian to Solar Hijri calendar</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/410757#M279653</link>
      <description>&lt;P&gt;Reusing&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt;&amp;nbsp;'s table, this may do what you want:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data CTRL2(drop=LABEL rename=(START=LABEL IN=START ));
  set CTRL(drop=FMTNAME);
  FMTNAME = 'greg2sh';
  TYPE    = 'C';
  IN      = vvalue(LABEL);
run;

proc format cntlin=CTRL2; run;

data SAMPLEDATA_2;
  set SAMPLEDATA_1;
  SHDATE=put(vvalue(TRD_EVENT_DT),greg2sh.);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="left"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.SAMPLEDATA_2" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;&lt;COLGROUP&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="l header" scope="col"&gt;TRD_EVENT_TM&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;TRD_STCK_CD&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;TRD_PR&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;TRD_TUROVR&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;TRD_EVENT_DT&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;SHDATE&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;12:19:35&lt;/TD&gt;
&lt;TD class="l data"&gt;IKCQ1&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;100&lt;/TD&gt;
&lt;TD class="r data"&gt;24MAR2008&lt;/TD&gt;
&lt;TD class="l data"&gt;1387-01-05&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;12:28:01&lt;/TD&gt;
&lt;TD class="l data"&gt;ALBZ1&lt;/TD&gt;
&lt;TD class="r data"&gt;1537&lt;/TD&gt;
&lt;TD class="r data"&gt;10000&lt;/TD&gt;
&lt;TD class="r data"&gt;26MAR2008&lt;/TD&gt;
&lt;TD class="l data"&gt;1387-01-07&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;13:13:44&lt;/TD&gt;
&lt;TD class="l data"&gt;ALBZ1&lt;/TD&gt;
&lt;TD class="r data"&gt;1567&lt;/TD&gt;
&lt;TD class="r data"&gt;10&lt;/TD&gt;
&lt;TD class="r data"&gt;12MAY2009&lt;/TD&gt;
&lt;TD class="l data"&gt;1388-02-22&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;12:20:38&lt;/TD&gt;
&lt;TD class="l data"&gt;AZAB1&lt;/TD&gt;
&lt;TD class="r data"&gt;683&lt;/TD&gt;
&lt;TD class="r data"&gt;10000&lt;/TD&gt;
&lt;TD class="r data"&gt;14JUL2011&lt;/TD&gt;
&lt;TD class="l data"&gt;1390-04-23&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;13:13:44&lt;/TD&gt;
&lt;TD class="l data"&gt;AZAB1&lt;/TD&gt;
&lt;TD class="r data"&gt;695&lt;/TD&gt;
&lt;TD class="r data"&gt;10&lt;/TD&gt;
&lt;TD class="r data"&gt;11OCT2013&lt;/TD&gt;
&lt;TD class="l data"&gt;1392-07-19&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;09:14:57&lt;/TD&gt;
&lt;TD class="l data"&gt;BALI1&lt;/TD&gt;
&lt;TD class="r data"&gt;850&lt;/TD&gt;
&lt;TD class="r data"&gt;9260&lt;/TD&gt;
&lt;TD class="r data"&gt;23MAR2008&lt;/TD&gt;
&lt;TD class="l data"&gt;1387-01-04&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Mon, 06 Nov 2017 04:38:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/410757#M279653</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-11-06T04:38:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert dates from Gregorian to Solar Hijri calendar</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412086#M279654</link>
      <description>Thanks &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/16961"&gt;@ChrisNZ&lt;/a&gt;;&lt;BR /&gt;But this code regenerates the date variable (TRD_EVENT_DT) with same values. For exmaple: 24MAR2008 is become 24MAR2008 again.</description>
      <pubDate>Thu, 09 Nov 2017 19:15:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412086#M279654</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-11-09T19:15:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert dates from Gregorian to Solar Hijri calendar</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412108#M279655</link>
      <description>&lt;P&gt;what should it return?&lt;/P&gt;</description>
      <pubDate>Thu, 09 Nov 2017 20:18:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412108#M279655</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-11-09T20:18:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert dates from Gregorian to Solar Hijri calendar</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412142#M279656</link>
      <description>Your code generates Gregorian to Gregorian calendar. I ran your code using my data which I posted here, and there is no converting between these two calendars.</description>
      <pubDate>Thu, 09 Nov 2017 21:23:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412142#M279656</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-11-09T21:23:40Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert dates from Gregorian to Solar Hijri calendar</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412166#M279657</link>
      <description>&lt;P&gt;I know nothing of the&amp;nbsp;Solar Hijri calendar and I don't know you data either.&lt;/P&gt;
&lt;P&gt;My code sample works as expected and creates&amp;nbsp;&lt;SPAN&gt;Solar Hijri&amp;nbsp;dates&lt;/SPAN&gt;.&lt;/P&gt;
&lt;P&gt;Can you adapt it to your data?&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Nov 2017 22:09:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412166#M279657</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-11-09T22:09:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert dates from Gregorian to Solar Hijri calendar</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412172#M279658</link>
      <description>No, I cannot;&lt;BR /&gt;I use codes and data of this post. However, it doesn't work.</description>
      <pubDate>Thu, 09 Nov 2017 22:34:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412172#M279658</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-11-09T22:34:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert dates from Gregorian to Solar Hijri calendar</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412173#M279659</link>
      <description>&lt;P&gt;This works:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data ctrl (keep=fmtname type start label);
  informat gdates $31.;
  infile cards dlm=',';
  input _pyear $ gdates &amp;amp;;
  retain fmtname 'pdate' type 'j';
  leap=index(_pyear,'*');
  pyear=input(compress(_pyear,'*'),12.);
  bday=input(scan(gdates,1,'.'),12.);
  byear=input(scan(gdates,3),12.);
  bmonth=3;
  if _n_ eq 1 then label=mdy(bmonth,bday,byear)-1;
  do pmonth=1 to 12;
    if pmonth le 6 then eday=31;
    else if pmonth le 11 then eday=30;
    else if leap then eday=30;
    else eday=29;
    do pday=1 to eday;
      label+1;
      start=catx('-',pyear,put(pmonth,z2.),put(pday,z2.));
      output;
    end;
  end;
  cards;
1354*,21. March 1975 – 20. March 1976
1355,21. March 1976 – 20. March 1977
1356,21. March 1977 – 20. March 1978
1357,21. March 1978 – 20. March 1979
1358*,21. March 1979 – 20. March 1980
1359,21. March 1980 – 20. March 1981
1360,21. March 1981 – 20. March 1982
1361,21. March 1982 – 20. March 1983
1362*,21. March 1983 – 20. March 1984
1363,21. March 1984 – 20. March 1985
1364,21. March 1985 – 20. March 1986
1365,21. March 1986 – 20. March 1987
1366*,21. March 1987 – 20. March 1988
1367,21. March 1988 – 20. March 1989
1368,21. March 1989 – 20. March 1990
1369,21. March 1990 – 20. March 1991
1370*,21. March 1991 – 20. March 1992
1371,21. March 1992 – 20. March 1993
1372,21. March 1993 – 20. March 1994
1373,21. March 1994 – 20. March 1995
1374,21. March 1995 – 19. March 1996
1375*,20. March 1996 – 20. March 1997
1376,21. March 1997 – 20. March 1998
1377,21. March 1998 – 20. March 1999
1378,21. March 1999 – 19. March 2000
1379*,20. March 2000 – 20. March 2001
1380,21. March 2001 – 20. March 2002
1381,21. March 2002 – 20. March 2003
1382,21. March 2003 – 19. March 2004
1383*,20. March 2004 – 20. March 2005
1384,21. March 2005 – 20. March 2006
1385,21. March 2006 – 20. March 2007
1386,21. March 2007 – 19. March 2008
1387*,20. March 2008 – 20. March 2009
1388,21. March 2009 – 20. March 2010
1389,21. March 2010 – 20. March 2011
1390,21. March 2011 – 19. March 2012
1391*,20. March 2012 – 20. March 2013
1392,21. March 2013 – 20. March 2014
1393,21. March 2014 – 20. March 2015
1394,21. March 2015 – 19. March 2016
1395*,20. March 2016 – 20. March 2017
1396,21. March 2017 – 20. March 2018
1397,21. March 2018 – 20. March 2019
1398,21. March 2019 – 19. March 2020
1399*,20. March 2020 – 20. March 2021
1400,21. March 2021 – 20. March 2022
1401,21. March 2022 – 20. March 2023
1402,21. March 2023 – 19. March 2024
1403*,20. March 2024 – 20. March 2025
1404,21. March 2025 – 20. March 2026
1405,21. March 2026 – 20. March 2027
1406,21. March 2027 – 19. March 2028
1407,20. March 2028 – 19. March 2029
1408*,20. March 2029 – 20. March 2030
1409,21. March 2030 – 20. March 2031
1410,21. March 2031 – 19. March 2032
1411,20. March 2032 – 19. March 2033
1412*,20. March 2033 – 20. March 2034
1413,21. March 2034 – 20. March 2035
1414,21. March 2035 – 19. March 2036
1415,20. March 2036 – 19. March 2037
1416*,20. March 2037 – 20. March 2038
1417,21. March 2038 – 20. March 2039
1418,21. March 2039 – 19. March 2040
1419,20. March 2040 – 19. March 2041
run;
data CTRL2(drop=LABEL rename=(START=LABEL IN=START ));
  set CTRL(drop=FMTNAME);
  FMTNAME = 'greg2sh';
  TYPE    = 'C';
  IN      = put(LABEL,date9. -l);
run;
proc format cntlin=CTRL2; 
run;
data WORK.SAMPLEDATA_1;
  infile datalines dsd truncover;
  input TRD_EVENT_TM:$24. TRD_STCK_CD:$15. TRD_PR:32. TRD_TUROVR:13. TRD_EVENT_DT:DATE9.;
  format TRD_TUROVR 13. TRD_EVENT_DT DATE9.;
  label TRD_EVENT_TM="TRD_EVENT_TM" TRD_STCK_CD="TRD_STCK_CD" TRD_PR="TRD_PR" TRD_TUROVR="TRD_TUROVR";
cards;
12:19:35,IKCQ1,1,100,24MAR2008
12:28:01,ALBZ1,1537,10000,26MAR2008
13:13:44,ALBZ1,1567,10,12MAY2009
12:20:38,AZAB1,683,10000,14JUL2011
13:13:44,AZAB1,695,10,11OCT2013
09:14:57,BALI1,850,9260,23MAR2008
09:15:06,BALI1,850,2000,25APR2008
09:15:14,BALI1,850,10000,14JUN2009
09:15:24,BALI1,850,6000,18JUL2010
09:29:27,BALI1,850,10000,11SEP2011
12:28:00,BALI1,850,10000,20OCT2012
12:28:07,BALI1,850,10000,24NOV2012
13:13:44,BALI1,865,10,26NOV2012
09:38:04,BANK1,1164,10729,13AUG2008
11:24:44,BANK1,1148,2000,15JAN2009
11:24:46,BANK1,1147,1575,19MAR2009
12:10:34,BANK1,1147,5000,17MAY2010
12:10:34,BANK1,1147,3425,22AUG2012
12:14:55,BANK1,1141,41575,24AUG2013
12:14:55,BANK1,1141,8425,24OCT2013
run;
data SAMPLEDATA_2;
  set SAMPLEDATA_1;
  SHDATE=put(vvalue(TRD_EVENT_DT),greg2sh.);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.SAMPLEDATA_2" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="l header" scope="col"&gt;TRD_EVENT_TM&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;TRD_STCK_CD&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;TRD_PR&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;TRD_TUROVR&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;TRD_EVENT_DT&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;SHDATE&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;12:19:35&lt;/TD&gt;
&lt;TD class="l data"&gt;IKCQ1&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;100&lt;/TD&gt;
&lt;TD class="r data"&gt;24MAR2008&lt;/TD&gt;
&lt;TD class="l data"&gt;1387-01-05&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;12:28:01&lt;/TD&gt;
&lt;TD class="l data"&gt;ALBZ1&lt;/TD&gt;
&lt;TD class="r data"&gt;1537&lt;/TD&gt;
&lt;TD class="r data"&gt;10000&lt;/TD&gt;
&lt;TD class="r data"&gt;26MAR2008&lt;/TD&gt;
&lt;TD class="l data"&gt;1387-01-07&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;13:13:44&lt;/TD&gt;
&lt;TD class="l data"&gt;ALBZ1&lt;/TD&gt;
&lt;TD class="r data"&gt;1567&lt;/TD&gt;
&lt;TD class="r data"&gt;10&lt;/TD&gt;
&lt;TD class="r data"&gt;12MAY2009&lt;/TD&gt;
&lt;TD class="l data"&gt;1388-02-22&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;12:20:38&lt;/TD&gt;
&lt;TD class="l data"&gt;AZAB1&lt;/TD&gt;
&lt;TD class="r data"&gt;683&lt;/TD&gt;
&lt;TD class="r data"&gt;10000&lt;/TD&gt;
&lt;TD class="r data"&gt;14JUL2011&lt;/TD&gt;
&lt;TD class="l data"&gt;1390-04-23&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;13:13:44&lt;/TD&gt;
&lt;TD class="l data"&gt;AZAB1&lt;/TD&gt;
&lt;TD class="r data"&gt;695&lt;/TD&gt;
&lt;TD class="r data"&gt;10&lt;/TD&gt;
&lt;TD class="r data"&gt;11OCT2013&lt;/TD&gt;
&lt;TD class="l data"&gt;1392-07-19&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;09:14:57&lt;/TD&gt;
&lt;TD class="l data"&gt;BALI1&lt;/TD&gt;
&lt;TD class="r data"&gt;850&lt;/TD&gt;
&lt;TD class="r data"&gt;9260&lt;/TD&gt;
&lt;TD class="r data"&gt;23MAR2008&lt;/TD&gt;
&lt;TD class="l data"&gt;1387-01-04&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;09:15:06&lt;/TD&gt;
&lt;TD class="l data"&gt;BALI1&lt;/TD&gt;
&lt;TD class="r data"&gt;850&lt;/TD&gt;
&lt;TD class="r data"&gt;2000&lt;/TD&gt;
&lt;TD class="r data"&gt;25APR2008&lt;/TD&gt;
&lt;TD class="l data"&gt;1387-02-06&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;09:15:14&lt;/TD&gt;
&lt;TD class="l data"&gt;BALI1&lt;/TD&gt;
&lt;TD class="r data"&gt;850&lt;/TD&gt;
&lt;TD class="r data"&gt;10000&lt;/TD&gt;
&lt;TD class="r data"&gt;14JUN2009&lt;/TD&gt;
&lt;TD class="l data"&gt;1388-03-24&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;09:15:24&lt;/TD&gt;
&lt;TD class="l data"&gt;BALI1&lt;/TD&gt;
&lt;TD class="r data"&gt;850&lt;/TD&gt;
&lt;TD class="r data"&gt;6000&lt;/TD&gt;
&lt;TD class="r data"&gt;18JUL2010&lt;/TD&gt;
&lt;TD class="l data"&gt;1389-04-27&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;09:29:27&lt;/TD&gt;
&lt;TD class="l data"&gt;BALI1&lt;/TD&gt;
&lt;TD class="r data"&gt;850&lt;/TD&gt;
&lt;TD class="r data"&gt;10000&lt;/TD&gt;
&lt;TD class="r data"&gt;11SEP2011&lt;/TD&gt;
&lt;TD class="l data"&gt;1390-06-20&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;12:28:00&lt;/TD&gt;
&lt;TD class="l data"&gt;BALI1&lt;/TD&gt;
&lt;TD class="r data"&gt;850&lt;/TD&gt;
&lt;TD class="r data"&gt;10000&lt;/TD&gt;
&lt;TD class="r data"&gt;20OCT2012&lt;/TD&gt;
&lt;TD class="l data"&gt;1391-07-29&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;12:28:07&lt;/TD&gt;
&lt;TD class="l data"&gt;BALI1&lt;/TD&gt;
&lt;TD class="r data"&gt;850&lt;/TD&gt;
&lt;TD class="r data"&gt;10000&lt;/TD&gt;
&lt;TD class="r data"&gt;24NOV2012&lt;/TD&gt;
&lt;TD class="l data"&gt;1391-09-04&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;13:13:44&lt;/TD&gt;
&lt;TD class="l data"&gt;BALI1&lt;/TD&gt;
&lt;TD class="r data"&gt;865&lt;/TD&gt;
&lt;TD class="r data"&gt;10&lt;/TD&gt;
&lt;TD class="r data"&gt;26NOV2012&lt;/TD&gt;
&lt;TD class="l data"&gt;1391-09-06&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;09:38:04&lt;/TD&gt;
&lt;TD class="l data"&gt;BANK1&lt;/TD&gt;
&lt;TD class="r data"&gt;1164&lt;/TD&gt;
&lt;TD class="r data"&gt;10729&lt;/TD&gt;
&lt;TD class="r data"&gt;13AUG2008&lt;/TD&gt;
&lt;TD class="l data"&gt;1387-05-23&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;11:24:44&lt;/TD&gt;
&lt;TD class="l data"&gt;BANK1&lt;/TD&gt;
&lt;TD class="r data"&gt;1148&lt;/TD&gt;
&lt;TD class="r data"&gt;2000&lt;/TD&gt;
&lt;TD class="r data"&gt;15JAN2009&lt;/TD&gt;
&lt;TD class="l data"&gt;1387-10-26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;11:24:46&lt;/TD&gt;
&lt;TD class="l data"&gt;BANK1&lt;/TD&gt;
&lt;TD class="r data"&gt;1147&lt;/TD&gt;
&lt;TD class="r data"&gt;1575&lt;/TD&gt;
&lt;TD class="r data"&gt;19MAR2009&lt;/TD&gt;
&lt;TD class="l data"&gt;1387-12-29&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;12:10:34&lt;/TD&gt;
&lt;TD class="l data"&gt;BANK1&lt;/TD&gt;
&lt;TD class="r data"&gt;1147&lt;/TD&gt;
&lt;TD class="r data"&gt;5000&lt;/TD&gt;
&lt;TD class="r data"&gt;17MAY2010&lt;/TD&gt;
&lt;TD class="l data"&gt;1389-02-27&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;12:10:34&lt;/TD&gt;
&lt;TD class="l data"&gt;BANK1&lt;/TD&gt;
&lt;TD class="r data"&gt;1147&lt;/TD&gt;
&lt;TD class="r data"&gt;3425&lt;/TD&gt;
&lt;TD class="r data"&gt;22AUG2012&lt;/TD&gt;
&lt;TD class="l data"&gt;1391-06-01&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;12:14:55&lt;/TD&gt;
&lt;TD class="l data"&gt;BANK1&lt;/TD&gt;
&lt;TD class="r data"&gt;1141&lt;/TD&gt;
&lt;TD class="r data"&gt;41575&lt;/TD&gt;
&lt;TD class="r data"&gt;24AUG2013&lt;/TD&gt;
&lt;TD class="l data"&gt;1392-06-02&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;12:14:55&lt;/TD&gt;
&lt;TD class="l data"&gt;BANK1&lt;/TD&gt;
&lt;TD class="r data"&gt;1141&lt;/TD&gt;
&lt;TD class="r data"&gt;8425&lt;/TD&gt;
&lt;TD class="r data"&gt;24OCT2013&lt;/TD&gt;
&lt;TD class="l data"&gt;1392-08-02&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Thu, 09 Nov 2017 22:42:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412173#M279659</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-11-09T22:42:10Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert dates from Gregorian to Solar Hijri calendar</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412174#M279660</link>
      <description>I am grateful for your help.</description>
      <pubDate>Thu, 09 Nov 2017 22:59:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412174#M279660</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-11-09T22:59:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert dates from Gregorian to Solar Hijri calendar</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412175#M279661</link>
      <description>&lt;P&gt;Glad it worked &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Nov 2017 23:11:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-dates-from-Gregorian-to-Solar-Hijri-calendar/m-p/412175#M279661</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-11-09T23:11:17Z</dc:date>
    </item>
  </channel>
</rss>

