Користувальницькі налаштування

Налаштування сайту


escript:date

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версійПопередня ревізія
Наступна ревізія
Попередня ревізія
escript:date [2024/09/16 17:42] wiki_adminescript:date [2026/04/08 13:27] (поточний) – [Сравниваем дат] wiki_admin
Рядок 15: Рядок 15:
 <file javascript example.js> <file javascript example.js>
  
-function siebelDateformat(sDate, pattern){ +function getSiebelDate(sDate, pattern){ 
-  //Функция преобразования Siebel даты по формату + //Функция преобразования сибель даты в любой формат по pattern 
-  //pattern "%m/%d/%Y %H:%M:%S", "%H:%M", "%d.%m.%Y" + //pattern "%m/%d/%Y %H:%M:%S", "%H:%M", "%d.%m.%Y" 
-  var result = ""; + var result = ""; 
-  try{ + try{ 
-    var dTime = new Date(sDate); + var dTime = new Date(sDate); 
-    dTime = dTime.getTime()/1000; + dTime = dTime.getTime()/1000; 
-    dTime = Clib.localtime(dTime); + dTime = Clib.localtime(dTime); 
-     + 
-    Clib.strftime(result, pattern, dTime); + Clib.strftime(result, pattern, dTime); 
-  } catch(e){ + } catch(e){ 
-    throw e; + throw e; 
-  } finally { + } finally { 
-    dTime = null; + dTime = null; 
-  +
-  return result;+ return result;
 } }
 </file> </file>
- 
- 
-===== Сравниваем дат ===== 
- 
-<file javascript example.js> 
-var sDate = bcSR.GetFieldValue("Date"); 
-var dTime = new Date(sDate); 
-dTime = dTime.getTime()/1000; 
-  
-tDate = tDate + 86400*addDay; 
- 
- 
-</file> 
- 
- 
  
  
Рядок 55: Рядок 40:
 <file javascript example.js> <file javascript example.js>
 var date = Clib.time(); var date = Clib.time();
 +var date = new Date(this.GetFieldValue("Date"));
 date = date + 86400; // +1 день от текущей даты (в секундах) date = date + 86400; // +1 день от текущей даты (в секундах)
-date = Date.fromSystem(date); +Clib.strftime(date, "%m/%d/%Y %H:%M:%S", date)
-Clib.strftime(date, "%m/%d/%Y %H:%M:%S", date)+
 </file> </file>
- 
- 
-===== Форматирование даты ===== 
- 
-Функция форматирования даты: 
-На вход приходит два параметра: 
- 
-**string** дата 
- 
-**format** формат в котором приходит дата 
- 
-На выход функция возвращает отформатированную строку в формате Siebel даты 
  
  
  
 +===== Кількість років від дати народження =====
  
 <code javascript> <code javascript>
-function dateFormat(string,format){ +var vSystemDateMilisecond vSystemDate.getTime(); 
- var ret = ""; +var vBirthDateMilisecond vBirthDate.getTime(); 
- var DD = ""; +var vDateDifferenceInMilisecond vSystemDateMilisecond vBirthDateMilisecond
- var MM = ""; +var vDay 86400000
- var YYYY = ""; +var vTotalDays vDateDifferenceInMilisecond/vDay 
- var hh = ""; +var minDays =21*365
- var mm = ""; +var maxDays =63*365;
- 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); +
-+
-</code>+
  
- +if( vTotalDays >minDays && vTotalDays <maxDays){ 
- +    CanInvoke = "TRUE"; 
-===== Форматирование даты ===== +} else { 
- +    CanInvoke = "FALSE"; 
-<code javascript> +}   
-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)); +
-+
-+
-}+
 </code> </code>
  
 +===== strToDate=====
  
 <code javascript> <code javascript>
-function getSiebelDate(sDate, pattern){ +function strToDate(isoDateStr) { 
- //Функция преобразования сибель даты в любой формат по pattern + // isoDateStr = "2025-08-12T12:10:23.156Z
- //pattern "%m/%d/%Y %H:%M:%S", "%H:%M", "%d.%m.%Y+    var parts isoDateStr.split("T")
- var result = ""; +    var datePart parts[0]// "2025-08-12" 
- try{ +    var timePart parts[1]; // "12:10:23.156Z"
- var dTime new Date(sDate)+
- dTime dTime.getTime()/1000; +
- dTime = Clib.localtime(dTime);+
  
- Clib.strftime(resultpattern, dTime); +    // Відкидаємо мілісекунди і Z 
- } catch(e){ +    timePart = timePart.replace(/Z$/"");     // "12:10:23.156" 
- throw e+    timePart = timePart.split(".")[0];         // "12:10:23" 
- } finally { +  
- dTime null+    var year  = datePart.split("-")[0]; 
- } +    var month = datePart.split("-")[1]; 
- return result;+    var day   = datePart.split("-")[2]
 +  
 +    var siebelDate month + "/" + day + "/" + year + " " + timePart
 +  
 +    return siebelDate;
 } }
 </code> </code>
- 
- 
- 
- 
- 
- 
  
  
 --- //[[admin@siebelwiki.com.ua|wiki_admin]] 2015/01/16 10:41// --- //[[admin@siebelwiki.com.ua|wiki_admin]] 2015/01/16 10:41//
 {{tag>date}} {{tag>date}}
escript/date.1726497731.txt.gz · Востаннє змінено: 2024/09/16 17:42 повз wiki_admin