使用下面的代码,当编辑第一列中的单元格时,google工作表在第六列中输入日期。它还包括时间戳。
如何修改此代码,以便只输入日期(日-月-年)?这将允许在工作表上按日期进行搜索。
function onEdit(e) {
var sheetName = 'Cases Allocation'; //name of the sheet the script should work on
var colToWatch = 1
var colToStamp = 6 //timestamp in col A
if (e.range.columnStart !== 1 || e.source.getActiveSheet()
.getName() !== sheetName || e.value == '') return;
var writeVal = e.value !== "" ? new Date(),: '';
e.source.getActiveSheet()
.getRange(e.range.rowStart, colToStamp)
.setValue(writeVal);
}发布于 2019-01-31 14:41:21
您可以尝试使用Utilities.formatDate。此方法根据Java类中描述的规范来格式化数据。你可以访问date and time patterns here。下面是一个用法示例:
// This formats the date as Greenwich Mean Time in the format
// year-month-dateThour-minute-second.
var formattedDate = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'");
Logger.log(formattedDate);请注意,使用Utilities.formatDate会产生以下效果,如本post所述
Utilities.formatDate不会更改单元格格式;它会将其内容转换为文本。如果您要在计算中使用日期值,您不希望将其转换为text.Utilities.formatDate需要指定时区。如果您设置了类似"GMT+1“的内容,并且您的国家遵守夏令时,那么几个月后很难跟踪的bug就会出现。使用setNumberFormat时,日期值与电子表格中的所有其他日期值保持一致,由其时区设置控制。要避免出现这种情况,还可以使用setNumberFormat(numberFormat)设置日期或数字格式。Sheets API documentation中描述了可接受的格式模式。一个示例用法是:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B2");
// Always show 3 decimal points
cell.setNumberFormat("0.000");发布于 2019-01-31 18:22:50
感谢所有尝试过的格式等,但随后决定添加一列,并将日期和时间分开,只将日期放入新列中。
发布于 2021-09-29 05:29:03
function onEdit(e) {
var sheetName = 'Cases Allocation'; //name of the sheet the script should work on
var colToWatch = 1
var colToStamp = 6 //timestamp in col A
if (e.range.columnStart !== 1 || e.source.getActiveSheet()
.getName() !== sheetName || e.value == '') return;
//var writeVal = e.value !== "" ? new Date(),: '';
e.source.getActiveSheet()
.getRange(e.range.rowStart, colToStamp)
.setValue(new Date(new Date().setHours(0,0,0,0))).setNumberFormat('MM/dd/yyyy');
}下面的代码将不带时间地保存日期。您可以根据需要更改格式。该字段仍然是可以根据需要使用的日期。
setValue(new Date(new Date().setHours(0,0,0,0))).setNumberFormat('MM/dd/yyyy');https://stackoverflow.com/questions/54450439
复制相似问题