John Marrone
Julian date February 07, 2009 03:01PM |
Merijn van der Wijk
Re: Julian date February 07, 2009 11:25PM |
Peter Holemans
Re: Julian date February 09, 2009 12:26AM |
FUNCTION JDEToISODate(LOCAL pJDEDate is string) //Local variables ReturnDate is string = "" JDEDay, JDEYear, JDECentury are int ISODay, ISOMonth, ISOYear are string IF Val(pJDEDate > 0) THEN SWITCH True CASE 1000 < Val(pJDEDate) < 10000 JDECentury = 1900 JDEYear = Val(Left(pJDEDate,1)) JDEDay = Val(Right(pJDEDate,3)) CASE 10000 < Val(pJDEDate) < 100000 JDECentury = 1900 JDEYear = Val(Left(pJDEDate,2)) JDEDay = Val(Right(pJDEDate,3)) CASE 100000 < Val(pJDEDate) < 1000000 JDECentury = 2000 JDEYear = Val(Middle(pJDEDate,2,2)) JDEDay = Val(Right(pJDEDate,3)) END ReturnDate = NumToString(JDECentury+JDEYear,"04d")+"0101" ReturnDate = IntegerToDate(DateToInteger(ReturnDate)+JDEDay) IF NOT DateValid(ReturnDate) THEN ReturnDate = "" END END RESULT ReturnDate
FUNCTION ISOToJDEDate(LOCAL pISODate is string) //Local variables ReturnDate is int = 0 JDEDateAsString is string = "" ISODate is Date = pISODate ISODay, ISOMonth, ISOYear are string IF DateValid(ISODate) THEN IF ISODate..Year >= 2000 THEN JDEDateAsString = "1" JDEDateAsString += Right(NumToString(ISODate..Year,"04d"),2) JDEDateAsString += NumToString(DateToInteger(ISODate,True),"03d") ReturnDate = Val(JDEDateAsString) END RESULT ReturnDate