我需要输入当前日期和时间我的Google文档电子表格的第K列中的时间(基于单个行),如果列I或J中的任何一个更改。这是我第一次尝试使用谷歌脚本。
我找到了一个能够做时间的功能(我希望我能弄清楚如何做日期),但我不知道如何检查单元格的变化,并更新其他单元格。因此,例如,如果行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 :(得分: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);
}
}
};