Apps Script触发器无法获取当前日期问题求助
Google Apps Script 薪资数据汇总工具
我最近写了一个Apps Script,专门用来汇总薪资数据,还能把最终结果自动保存到新建的Google Sheet里。脚本里用到了new Date()来获取当前日期,一方面用来做数据查询的时间条件,另一方面用来给新建的表格命名,方便区分不同周期的数据。
核心代码片段
function exportPayroll(setDate){ var date = new Date(); var newWeek = Utilities.formatDate(_getSunday(date),"GMT", "MM/dd/yyyy"); for (var company in companies){ getPayroll(companies[company],newWeek); } } function _getSunday(d) { d = new Date(d); var day = d.getDay(); // 计算当前日期所在周的周日日期 var diff = d.getDate() - day + (day === 0 ? -6 : 1); return new Date(d.setDate(diff)); }
关键逻辑说明
- 日期处理流程:先用
new Date()获取当前系统日期,再通过_getSunday()函数计算出该日期所在周的周日,最后用Utilities.formatDate()把日期格式化成MM/dd/yyyy的样式,这个格式化后的日期会作为数据查询的周期条件,同时也会用来给新建的汇总表格命名。 - 批量数据处理:通过
for...in循环遍历预设的companies对象,逐个调用getPayroll()函数来处理每个公司的薪资数据,实现多公司数据的批量汇总。
内容的提问来源于stack exchange,提问作者davids
相关产品推荐
相关产品推荐

