Converting to and from a Julian Date

Chris Kelleher

Administrator
Staff member
<BLOCKQUOTE><font size="1" face="Arial, Verdana">code:</font><HR><pre>/* begin code segment */
function J52Date returns date (input iJulian as integer).
def var cYear as char no-undo.
def var cDayNo as char no-undo.
def var iCent as int no-undo.
assign
cYear = substring(string(iJulian),1,2)
cDayNo = substring(string(iJulian),3,3)
iCent = truncate(year(today) / 100,0).
return date (1,1, (iCent * 100) + integer(cYear)) + integer(cDayNo) - 1.
end function.

function Date2J5 returns integer (input dMyDate as date).
def var cYear as char no-undo.
def var iDayNo as integer no-undo.
def var iCent as int no-undo.
assign
cYear = substring(string(dMyDate),7)
cYear = if length(cYear) = 4 then substring(cYear,3) else cYear
iCent = truncate(year(today) / 100,0)
iDayNo = dMyDate - date(12,31,(iCent * 100) + (integer(cYear) - 1))
.
return integer ((integer(cYear) * 1000) + iDayNo).
end function.

message
string( J52Date (98123), "99/99/9999" ) skip
string( Date2J5 (05/03/98) )
view-as alert-box.
/* end code segment */

[/code]
 
Top