2012-11-11 86 views
0

如果列I或J中的任何一個被更改,我需要將當前日期&時間(以單個行爲基礎)放在我的Google文檔電子表格的K列中。這是我第一次嘗試使用谷歌腳本。根據第一列的訪問更新第二列

我找到了一個功能,將時間(我希望我能弄清楚如何做日期),但我不知道如何檢查單元格中的更改,並更新其他單元格。因此,例如,如果第10行第I列或第J列發生更改,第10列第K列應獲得當前日期&時間。

function myFunction() { 
    var d = new Date(); 
    var timeStamp = d.getTime(); // Number of ms since Jan 1, 1970 

    // OR: 

    var currentTime = d.toLocaleTimeString(); // "12:35 PM", for instance 
} 
+0

更新我的回答,使用'GMT-8'。請讓我知道這對你有沒有用。 – RocketDonkey

回答

0

你可以給這個一杆 - 它使用字符串格式化,將當前日期以適當的格式(如需要可以調整)。需要注意的一點是:無論您在此處做什麼,該值都將根據您在電子表格中指定的任何格式顯示。因此,如果你什麼都不做,結果會看起來像傳統的日期時間表示。如果您希望它以您指定的格式顯示,您可以執行兩項操作:1.)使用電子表格的格式菜單將整列轉換爲文本;或者2.)(我的選擇)在'前加上你寫的值,這會將它變成一個字符串(這就是下面的代碼所做的)。希望這可以幫助。

function onEdit() { 
    var s = SpreadsheetApp.getActiveSheet(); 
    // This was "MySheet" for me - change to whichever sheet you want to test 
    if(s.getName() == "MySheet") { 
    var r = s.getActiveCell(); 
    // Check if the column is either I or J 
    var currColumn = r.getColumn(); 
    if(currColumn == 9 || currColumn == 10) { 
     // If so, set dateCell = the current row at column J 
     var dateCell = s.getRange(r.getRow(), 11); 
     // Format the current date into datetime format (adjust to display how you want) 
     var dateTime = Utilities.formatDate(new Date(), "GMT-8", "MMM-dd-yyyy h:mm a"); 
     // Set the cell 
     dateCell.setValue("'" + dateTime); 
    } 
    } 
}; 
+0

是能夠找到一個「手冊」。現在我的日期字符串看起來像這樣: –

+0

@AB你如何尋找你的日期字符串出現? – RocketDonkey

+0

是的,能夠找到一個「手冊」。現在我的日期字符串如下所示:var dateTime = Utilities.formatDate(new Date(),「GMT-8」,「MMM-dd-yyyy h:m TT」);我正在使用應該是月份名稱的MMM,但它不起作用,我使用應該是AM/PM的TT,但它不起作用(續) –

相關問題