====== Игры с датами в eScript ======
===== Форматирование Siebel даты =====
Готовая функция по форматированию Siebel даты в любую другую
**Пример вызова**
var msg ="";
msg = getSiebelDate(bc.GetFieldValue("Created"), "%Y-%d-%m %H:%M:%S");
function getSiebelDate(sDate, pattern){
//Функция преобразования сибель даты в любой формат по pattern
//pattern "%m/%d/%Y %H:%M:%S", "%H:%M", "%d.%m.%Y"
var result = "";
try{
var dTime = new Date(sDate);
dTime = dTime.getTime()/1000;
dTime = Clib.localtime(dTime);
Clib.strftime(result, pattern, dTime);
} catch(e){
throw e;
} finally {
dTime = null;
}
return result;
}
===== Сегодняшняя дата + 1 день =====
var date = Clib.time();
var date = new Date(this.GetFieldValue("Date"));
date = date + 86400; // +1 день от текущей даты (в секундах)
Clib.strftime(date, "%m/%d/%Y %H:%M:%S", date);
===== Кількість років від дати народження =====
var vSystemDateMilisecond = vSystemDate.getTime();
var vBirthDateMilisecond = vBirthDate.getTime();
var vDateDifferenceInMilisecond = vSystemDateMilisecond - vBirthDateMilisecond;
var vDay = 86400000;
var vTotalDays = vDateDifferenceInMilisecond/vDay
var minDays =21*365;
var maxDays =63*365;
if( vTotalDays >= minDays && vTotalDays <= maxDays){
CanInvoke = "TRUE";
} else {
CanInvoke = "FALSE";
}
===== strToDate=====
function strToDate(isoDateStr) {
// isoDateStr = "2025-08-12T12:10:23.156Z"
var parts = isoDateStr.split("T");
var datePart = parts[0]; // "2025-08-12"
var timePart = parts[1]; // "12:10:23.156Z"
// Відкидаємо мілісекунди і Z
timePart = timePart.replace(/Z$/, ""); // "12:10:23.156"
timePart = timePart.split(".")[0]; // "12:10:23"
var year = datePart.split("-")[0];
var month = datePart.split("-")[1];
var day = datePart.split("-")[2];
var siebelDate = month + "/" + day + "/" + year + " " + timePart;
return siebelDate;
}
--- //[[admin@siebelwiki.com.ua|wiki_admin]] 2015/01/16 10:41//
{{tag>date}}