2013-06-05 2 views
0

Этот код работает хорошо для меня, но сегодня (когда я модифицировал ячейку) я заметил, что сценарий создает дату, которая на месяц отстает от фактической даты (т. Е. сегодня 6/5/2013, но сценарий выпущен 5/5/2013). Может ли кто-нибудь увидеть, что может вызвать эту проблему?Скрипт «Row Last Modified» порождает неправильный месяц


// * based on the script "insert last modified date" by [email protected] * 
// Update cell with the the last modified time of any (single) cell in that row, excluding row 1 and column 1 

function onEdit() { 
    var d = new Date(); 

    // format date nicely 
    var month_str = d.getMonth(); 
    var day_str = d.getUTCDate(); 
    var year_str = d.getYear().toString().substring(2); 


    // create the formatted time and date strings 

    var date_str = month_str + '/' + day_str + '/' + year_str; 

    // create the message (change this to whatever wording you prefer) 
    // note also that rather than all the above, you could just use d.toString() 
    // I didn't because I didn't want it printing the timezone. 
    var s = date_str; 

    var active_range = SpreadsheetApp.getActiveRange(); 

    if (active_range.getHeight() == 1 && active_range.getWidth() == 1 && active_range.getRow != 1 && active_range.getColumn() != 1) { 
    var update_row = active_range.getRow().toString(); 
    var update_cell = "AF" + update_row; 
    SpreadsheetApp.getActiveSheet().getRange(update_cell).setValue(s); 
    } 

} 

ответ

2

Я не думаю, что это когда-либо работал правильно для вас. documentation для Date.getMonth() говорит:

значение, возвращаемое getMonth представляет собой целое число от 0 до 11. 0 соответствует января по февраль 1, и так далее.

Необходимо добавить метр на единицу.

var month_str = d.getMonth() + 1; 

(также имя переменной month_str вводит в заблуждение, это не строка, getMonth() возвращает целое число)

+0

Спасибо Daniel, ваши исправления работал отлично! Я не создавал этот скрипт (и не знал бы, как это сделать, если бы захотел!), Но я рад, что смог продолжить его использовать! – user2457327

Смежные вопросы