Oracle JD Edwards · AS/400
JD Edwards Julian Date Converter
JD Edwards stores dates as CYYDDD — a century digit, a
two-digit year, and the day of year. That is not the same as the
usual YYYYDDD Julian date, so a normal converter will decode
it wrongly. Today is 2026260 in standard form
and 126260 in JDE form.
5 or 6 digits, e.g. 126260 or 99365
Pick a date to get its CYYDDD value
- Calendar date
- Padded CYYDDD
- Standard Julian (YYYYDDD)
- Day of year
How CYYDDD works
The format packs three things into one number:
- C — centuries since 1900.
0= 1900s,1= 2000s,2= 2100s. - YY — the year within that century,
00–99. - DDD — the day of the year,
001–366.
So 126260 reads as century 1 → 2000s, year 26 → 2026, day
260 → 17 September. The full year is
1900 + (C × 100) + YY.
Worked examples
| CYYDDD | Calendar date | Why |
|---|---|---|
| 126260 | September 17, 2026 | C=1 (2000s), YY=26, DDD=260 |
| 125001 | January 1, 2025 | The first day of 2025 |
| 124366 | December 31, 2024 | 2024 is a leap year — day 366 exists |
| 99365 | December 31, 1999 | Stored as a number, so the leading 0 is gone |
| 100001 | January 1, 2000 | The century digit rolls to 1 |
The five-digit trap
JD Edwards holds these values in numeric columns, not text. A date in the
1900s has C = 0, and a leading zero in a number simply does
not exist — so 099365 comes out of the database as
99365. Pad any JDE date to six digits before you parse it
and the ambiguity disappears. The converter above does this for you.
Related formats
- Standard Julian date converter —
the
YYYYDDDandYYDDDforms used on packaging and in most IT systems - Julian dates in SQL — conversions for Oracle, T-SQL, PostgreSQL and MySQL
- Bulk converter — paste a whole column of values at once
- What is a Julian date? — why the term means several different things
Frequently asked questions
What does the C in CYYDDD mean?
It is the number of centuries since 1900. C=0 means the 1900s, C=1 means the 2000s, C=2 means the 2100s. So 126260 is century 1 (2000s), year 26, day 260 — 17 September 2026.
Why is my JDE date only 5 digits?
JD Edwards stores the value in a numeric column, so a 20th-century date with C=0 loses its leading zero. 099365 comes back as 99365. Pad it to six digits before parsing and it decodes normally.
Is the JDE Julian date the same as a normal Julian date?
No, and this trips people up constantly. A standard day-of-year Julian date is YYYYDDD (2026260) or YYDDD (26260). The JDE form is CYYDDD (126260) — a different length with a century digit instead of a full year. Feeding a JDE value into a normal converter gives the wrong answer.
Which JDE tables use this format?
All of the standard date columns — for example the update and creation dates in F0101, the ledger dates in F0911, and order dates in F4211. Any column whose data dictionary type is JDEDATE holds a CYYDDD value.
How do I convert CYYDDD in SQL?
Add 1900000 to the numeric value to get a YYYDDD-style number, then split it. On Oracle: TO_DATE(TO_CHAR(1900000 + jdedate), 'YYYYDDD'). See the SQL page for versions in T-SQL, PostgreSQL and MySQL.