TDI 腳本設置時間聯動

代碼直接貼上來的,這博客裏也不知道寫什麼了,總不能天天寫安裝各種軟件吧,唉~

解釋下這段代碼的作用吧,工作中確實可以用到的,雖然很簡單。

實際環境是TDI  使用SAP R/3 function 去HR那邊同步數據時,需要取出每天disable_person的數據。那邊需要傳過去的參數是START_DATE,END_DATE。

以前使用的是 getFullYear();  getMonth();  getMonth()   拼接的出來的END_DATE,   -1 就是START_DATE  

後來發現月初的時候 比如20100901時 –1 就會變成20100900

無法給SAP 傳過去準確的時間。所以編寫如下代碼,可以實現閏月,特殊時間日期等的時間聯動。

 

PS:代碼最初編寫者爲彭強。轉載請註明出處哈。

 

 

var t = new Date();

var y = t.getFullYear();

var m = t.getMonth() + 1;

var d = t.getDate();

if (m < 10) m = "0" + m;

if (d < 10) d = "0" + d;

function IsPinYear(year)

{

if (0 == year%4 && (year%100 !=0 || year%400 == 0)) {

return true;

} else {

return false;

}

}

function getMaxDays(year, month) {

var days = "";

if (month == "01" || month == "03" || month == "05" || month =="07" || month == "08" || month == "10" || month == "12") {

days = "31";

}else if (month == "04" || month == "06" || month == "09" || month == "11") {

days = "30";

}

if(month == "02") {

if(IsPinYear(year) == true) {

days = "29";

} else {

days = "28";

}

}

return days;

}

function getYesterday (year, month, day) {

var yes_d = "";

var yes_m = "";

var yes_y = "";

if(day == "01") {

if (month == "01") {

yes_m = "12";

yes_y = year - 1;

yes_d = getMaxDays(yes_y, yes_m);       

if(yes_d < 10) yes_d = "0" + yes_d;               

} else {

yes_m = month - 1;

if(yes_m < 10) yes_m = "0" + yes_m;

yes_y = year;

yes_d = getMaxDays(yes_y, yes_m);

if(yes_d < 10) yes_d = "0" + yes_d;       

}

return yes_y + yes_m + yes_d + "";

} else {

var yes_d = day - 1;

var yes_m = month;

var yes_y = year;               

if(yes_d &lt; 10) yes_d = "0" + yes_d;       

return yes_y + yes_m + yes_d + "";

}

}

 

var currTime = y + m + d + "";

var yesterday = getYesterday(y, m, d);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章