Originally posted by: SystemAdmin
I tried both -3 & -4 in your map rule and it results in this being Week Number 34. Based on ISO-8601 I believe this week should be Week Number 35.
Julian Day Number from Gregorian Date:
code:1:03c9cd414a=IF(TEXTTONUMBER(FROMDATETIME(CURRENTDATE(), "{MM}") ) < 3,
TEXTTONUMBER(FROMDATETIME(CURRENTDATE(), "{DD}") ) + (153 * (TEXTTONUMBER(FROMDATETIME(CURRENTDATE(), "{MM}") ) +12) - 457) / 5 + 365 * (TEXTTONUMBER(FROMDATETIME(CURRENTDATE(), "{CCYY}") ) -1) + ( (TEXTTONUMBER(FROMDATETIME(CURRENTDATE(), "{CCYY}") ) - 1) / 4) - ( (TEXTTONUMBER(FROMDATETIME(CURRENTDATE(), "{CCYY}") ) - 1) / 100) + ( (TEXTTONUMBER(FROMDATETIME(CURRENTDATE(), "{CCYY}") ) - 1) / 400) + 1721118.5,
TEXTTONUMBER(FROMDATETIME(CURRENTDATE(), "{DD}") ) + (153 * TEXTTONUMBER(FROMDATETIME(CURRENTDATE(), "{MM}") ) - 457) / 5 + 365 * TEXTTONUMBER(FROMDATETIME(CURRENTDATE(), "{CCYY}") ) + (TEXTTONUMBER(FROMDATETIME(CURRENTDATE(), "{CCYY}") ) / 4) - (TEXTTONUMBER(FROMDATETIME(CURRENTDATE(), "{CCYY}") ) / 100) + (TEXTTONUMBER(FROMDATETIME(CURRENTDATE(), "{CCYY}") ) / 400) + 1721118.5 )[/code:1:03c9cd414a]
The following rule seems to work. I only tested it for 12/31/2003, 1/1/2004, & 8/24/2004 which resulted in 1, 1, & 35 respectively.
/* JDN = Julian Day Number */
code:1:03c9cd414a=INT( (MOD(MOD(MOD(MOD( JDN + 31741 - MOD(JDN, 7), 146097), 36524), 1461) - INT( (MOD(MOD(MOD( JDN + 31741 - MOD(JDN, 7), 146097), 36524), 1461)/1460) ), 365) + (MOD(MOD(MOD( JDN + 31741 - MOD(JDN, 7), 146097), 36524), 1461)/1460) ) )/7 + 1[/code:1:03c9cd414a]
Other possible considerations:
Above formulae are based on GMT.
The standard Julian Day begins at noon GMT.
Daylight Savings Time
Have fun. I have real work to do now. Oh, I accept PayPal.
#IBMSterlingTransformationExtender#DataExchange#IBM-Websphere-Transformation-Extender