Skip to main content

JDE Julian Date Conversion

·
ECMAScript - This article is part of a series.
Part 1: This Article

Below you will find the JavaScript / ECMAScript code which will convert JD Edwards Julian Dates to Java dates. The output format can be tweaked to your liking.

// According to the Oracle doc for JDE it’s C + YY + DDD
// C = Century 0 = 19, 1 = 20

// 097065  1997 and the 65th day of the year.
// 071138   138th day of 1971 = MM 05 / DD 19 / 1971

importClass(java.text.SimpleDateFormat);

var varMyDate = "71069";
print ("JDE Date: " + varMyDate);

var varParsedDate = parseString(varMyDate);
print ("Out Date: " + varParsedDate);

function parseString(varString)
{
    if (varString.length == 5)
    {
        varString = 0 + varString;
    }

    if (varString.length != 6) return;

    var varCentury = varString.substring(0,1);
    var varYear = varString.substring(1,3);
    var varDay = varString.substring(3,6);

    varYear = +varCentury + +19 + varYear;

//  print (varCentury);
//  print (varYear);
//  print (varDay);

    return dateFromDay(varYear, varDay);
}

function dateFromDay(year, day)
{
    pattern = "yyyyMMdd";
    format = new SimpleDateFormat(pattern);
    var varDate = new Date(year, 0);
    var varTempDate = new Date(varDate.setDate(day));
    return format.format(varDate);
}

The code handles leap year conversion, as the following examples show.

class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"

<span

  class="text-primary-400 pe-3 flex items-center"

>
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z"/></svg>

<span

  class="dark:text-neutral-300"

>2004 is a LEAP year, 1971 is not.</span>
Kekes-MacBook-Pro:Downloads karmst$ rhino -f jimbo.js
JDE Date: 104138
Out Date: 20040517

Kekes-MacBook-Pro:Downloads karmst$ rhino -f jimbo.js
JDE Date: 071069
Out Date: 19710310
ECMAScript - This article is part of a series.
Part 1: This Article