escript:date
Це стара версія документу!
Зміст
Игры с датами в eScript
Форматирование Siebel даты
Готовая функция по форматированию Siebel даты в любую другую
Пример вызова
var msg =""; msg = getSiebelDate(bc.GetFieldValue("Created"), "%Y-%d-%m %H:%M:%S");
- example.js
function siebelDateformat(sDate, pattern){ //Функция преобразования Siebel даты по формату //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; }
Сравниваем дат
- example.js
var sDate = bcSR.GetFieldValue("Date"); var dTime = new Date(sDate); dTime = dTime.getTime()/1000; tDate = tDate + 86400*addDay;
Сегодняшняя дата + 1 день
- example.js
var date = Clib.time(); date = date + 86400; // +1 день от текущей даты (в секундах) date = Date.fromSystem(date); Clib.strftime(date, "%m/%d/%Y %H:%M:%S", date)
Форматирование даты
Функция форматирования даты: На вход приходит два параметра:
string дата
format формат в котором приходит дата
На выход функция возвращает отформатированную строку в формате Siebel даты
function dateFormat(string,format){ var ret = ""; var DD = ""; var MM = ""; var YYYY = ""; var hh = ""; var mm = ""; var ss = ""; if(format == "YYYY-MM-DD"){ if(string != ""){ DD = string.substr(8,2); MM = string.substr(5,2); YYYY = string.substr(0,4); ret = MM+"/"+DD+"/"+YYYY; } } else if (format == "YYYY-MM-DD hh:mm"){ if(string != ""){ DD = string.substr(8,2); MM = string.substr(5,2); YYYY = string.substr(0,4); hh = string.substr(11,2); mm = string.substr(14,2); ret = MM + "/" + DD + "/" + YYYY+" "+hh+":"+mm+":00"; } } else if (format == "YYYY-MM-DD hh:mm:ss"){ if(string != ""){ DD = string.substr(8,2); MM = string.substr(5,2); YYYY = string.substr(0,4); hh = string.substr(11,2); mm = string.substr(14,2); ss = string.substr(17,2); ret = MM + "/" + DD + "/" + YYYY+" "+hh+":"+mm+":"+ss; } } else if(format == "YYYY-MM-DD"){ if(string != ""){ DD = string.substr(8,2); MM = string.substr(5,2); YYYY = string.substr(0,4); ret = MM+"/"+DD+"/"+YYYY; } } else if (format == "YYYY-MM-DD hh-mm"){ if(string != ""){ DD = string.substr(8,2); MM = string.substr(5,2); YYYY = string.substr(0,4); hh = string.substr(11,2); mm = string.substr(14,2); ret = MM + "/" + DD + "/" + YYYY+" "+hh+":"+mm+":00"; } } else if (format == "YYYY-MM-DD hh-mm-ss"){ if(string != ""){ DD = string.substr(8,2); MM = string.substr(5,2); YYYY = string.substr(0,4); hh = string.substr(11,2); mm = string.substr(14,2); ss = string.substr(17,2); ret = MM + "/" + DD + "/" + YYYY+" "+hh+":"+mm+":"+ss; } } return(ret); }
Форматирование даты
function strToDate(sDate) { // Параметры : // sDate : строка в формате "mm/dd/yyyy" или "mm/dd/yyyy hh:mm:ss" // Returns : объект типа Даты var ArDateTime = sDate.split (" "); var ArDate = ArDateTime[0]; var splitDate = ArDate.split ("/"); var nDay = splitDate[1]; var nMonth = splitDate[0]; var nYear = splitDate[2]; if (ArDateTime.length == 1){ return (new Date(nYear, nMonth-1 , nDay)); } else { var ArTime = ArDateTime[1]; var splitTime = ArTime.split(":"); if (splitTime[0]=="00" && splitTime[1]=="00" && splitTime[2]=="00" ){ return (new Date(nYear, nMonth-1 , nDay)); } else { var nHours = splitTime[0]; var nMinutes = splitTime[1]; var nSeconds = splitTime[2]; return (new Date(nYear,nMonth-1,nDay, nHours, nMinutes, nSeconds)); } } }
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; }
Кількість років від дати народження
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"; }
formatIsoToSiebelDate
function formatIsoToSiebelDate(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]; // Збираємо в формат, який розуміє Clib.strptime // Приклад: "2025-08-12 12:10:23" var dateTimeStr = year + "-" + month + "-" + day + " " + timePart; // Конвертуємо в Date-об’єкт Siebel var dt = Clib.strptime(dateTimeStr, "%Y-%m-%d %H:%M:%S"); // Форматуємо у стандартний Siebel формат: "08/12/2025 12:10:23" var siebelDate = Clib.strftime(dt, "%m/%d/%Y %H:%M:%S"); return siebelDate; } // Приклад використання var isoStr = "2025-08-12T12:10:23.156Z"; var siebelFormatted = formatIsoToSiebelDate(isoStr); // siebelFormatted = "08/12/2025 12:10:23"
— wiki_admin 2015/01/16 10:41 date
escript/date.1759215098.txt.gz · Востаннє змінено: 2025/09/30 09:51 повз wiki_admin
