escript:date
Розбіжності
Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версійПопередня ревізіяНаступна ревізія | Попередня ревізія | ||
| escript:date [2020/01/27 10:09] – [Форматирование Siebel даты] wiki_admin | escript:date [2026/04/08 13:27] (поточний) – [Сравниваем дат] wiki_admin | ||
|---|---|---|---|
| Рядок 1: | Рядок 1: | ||
| + | ====== Игры с датами в eScript ====== | ||
| + | |||
| + | ===== Форматирование Siebel даты ===== | ||
| + | Готовая функция по форматированию Siebel даты в любую другую | ||
| + | |||
| + | **Пример вызова** | ||
| + | <code javascript> | ||
| + | var msg =""; | ||
| + | | ||
| + | msg = getSiebelDate(bc.GetFieldValue(" | ||
| + | </ | ||
| + | |||
| + | |||
| + | <file javascript example.js> | ||
| + | |||
| + | function getSiebelDate(sDate, | ||
| + | // | ||
| + | //pattern " | ||
| + | var result = ""; | ||
| + | try{ | ||
| + | var dTime = new Date(sDate); | ||
| + | dTime = dTime.getTime()/ | ||
| + | dTime = Clib.localtime(dTime); | ||
| + | |||
| + | Clib.strftime(result, | ||
| + | } catch(e){ | ||
| + | throw e; | ||
| + | } finally { | ||
| + | dTime = null; | ||
| + | } | ||
| + | return result; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== Сегодняшняя дата + 1 день ===== | ||
| + | |||
| + | <file javascript example.js> | ||
| + | var date = Clib.time(); | ||
| + | var date = new Date(this.GetFieldValue(" | ||
| + | date = date + 86400; // +1 день от текущей даты (в секундах) | ||
| + | Clib.strftime(date, | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== Кількість років від дати народження ===== | ||
| + | |||
| + | <code javascript> | ||
| + | var vSystemDateMilisecond = vSystemDate.getTime(); | ||
| + | var vBirthDateMilisecond = vBirthDate.getTime(); | ||
| + | var vDateDifferenceInMilisecond = vSystemDateMilisecond - vBirthDateMilisecond; | ||
| + | var vDay = 86400000; | ||
| + | var vTotalDays = vDateDifferenceInMilisecond/ | ||
| + | var minDays =21*365; | ||
| + | var maxDays =63*365; | ||
| + | |||
| + | if( vTotalDays >= minDays && vTotalDays <= maxDays){ | ||
| + | CanInvoke = " | ||
| + | } else { | ||
| + | CanInvoke = " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== strToDate===== | ||
| + | |||
| + | <code javascript> | ||
| + | function strToDate(isoDateStr) { | ||
| + | // isoDateStr = " | ||
| + | var parts = isoDateStr.split(" | ||
| + | var datePart = parts[0]; // " | ||
| + | var timePart = parts[1]; // " | ||
| + | |||
| + | // Відкидаємо мілісекунди і Z | ||
| + | timePart = timePart.replace(/ | ||
| + | timePart = timePart.split(" | ||
| + | |||
| + | var year = datePart.split(" | ||
| + | var month = datePart.split(" | ||
| + | var day = datePart.split(" | ||
| + | |||
| + | var siebelDate = month + "/" | ||
| + | |||
| + | return siebelDate; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | --- // | ||
| + | {{tag> | ||
