SAP C4C date from epoch conversion example

by katalin_2003

HTML

<div id='eu-date'></div>
<div id='letter-date'></div>

CSS

body {
	font-family: sans-serif;
}

JavaScript

// C4C date example:
// "CloseDate": "/Date(1666915200000)/"
// All Opportunities in JSON (replace XXXXXX with the tenant)
// https://myXXXXXX.crm.ondemand.com/sap/c4c/odata/v1/c4codata/OpportunityCollection/?$format=json
const monthNamesENLong = ["January", "February", "March", "April", "May", "June",
  "July", "August", "September", "October", "November", "December"
];
const monthNamesENShort = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
  "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
];

const opDateEpoch = '1704063540000';
const opDateInt = parseInt(opDateEpoch, 10);
// console.log(new Date(opDateInt));



var oppTimeStampToDateTime = new Date(opDateInt);
var oppYear = oppTimeStampToDateTime.getFullYear();

// TODO: Add leading zero if below 10
// test with opDateEpoch as 1705363200000
var oppMonth = oppTimeStampToDateTime.getMonth() + 1;

var oppMonthString = monthNamesENShort[oppTimeStampToDateTime.getMonth()]; // No need for '+1'
var oppDay = oppTimeStampToDateTime.getDate();
var opDate = oppDay + "-" + oppMonth + "-" + oppYear;
var opDateString = oppDay + "-" + oppMonthString + "-" + oppYear;

var euDate = document.getElementById('eu-date');
var letterDate = document.getElementById('letter-date');

euDate.innerHTML = '1674518400000 becomes: ' + opDate;
letterDate.innerHTML = '1674518400000 becomes: ' + opDateString;
// Open the dev console and check this out :)
console.log(opDate);
console.log(opDateString);