在 Google 个工作表中使用日期
Using dates in Google Sheets
Google 表格中的日期有点麻烦。我基本上是在尝试减去日期,但它不起作用。但是首先,我试图了解日期是如何工作的。这是一个关于日期的奇怪行为的例子。
function addDates(sheet)
{
var prevDateCurrYear = new Date();
Logger.log(prevDateCurrYear);
Logger.log(prevDateCurrYear.getMonth()+' '+prevDateCurrYear.getDay()+' '+prevDateCurrYear.getYear());
}
这是日志
[15-02-03 18:15:21:631 EST] Tue Feb 03 18:15:21 GMT-05:00 2015
[15-02-03 18:15:21:632 EST] 1 2 2015
getMonth 和 getDay 似乎不起作用。它应该拉动 2 和 3 而不是拉动 1 和 2。为什么会这样?
我正在使用此文档:https://developers.google.com/apps-script/reference/contacts/date-field
实际上 getMonth 和 getDay 是 Java 脚本方法。 getMonth 和 getDay 在 Java 脚本中的工作方式不同。您可以参考这些页面以获取更多信息。
http://www.w3schools.com/jsref/jsref_getday.asp
http://www.w3schools.com/jsref/jsref_getmonth.asp
希望对您有所帮助!
有几件事需要考虑。
1. 在脚本项目属性中设置时区。文件,项目属性。
2. 使用 Utilities.formatDate()
可以减轻很多麻烦,因为您可以根据需要标准化日期。
3. getDay()
和 getDate()
return "day of the week (i.e. 1-7)" 和 "the date of the month (i.e. 1-31)"。
这里有一些关于日期的详细信息需要澄清:
function addDates() {
var prevDateCurrYear = new Date();
var year = Utilities.formatDate(prevDateCurrYear, "America/Denver", "yyyy");
var date = Utilities.formatDate(prevDateCurrYear, "America/Denver", "d");
var month = Utilities.formatDate(prevDateCurrYear, "America/Denver", "M");
Logger.log("\nUnformatted prevDateCurrYear: "+prevDateCurrYear+
"\n\nYour original log:\nprevDateCurrYear.getMonth(): "+prevDateCurrYear.getMonth()+"\n"+
"prevDateCurrYear.getDay(): "+prevDateCurrYear.getDay()+"\n"+
"prevDateCurrYear.getYear(): "+prevDateCurrYear.getYear()+"\n"+
"\nUsing Utilites.formatDate():\nmonth: "+month+"\ndate: "+date+"\nyear: "+year+
"\nUtilities.formatDate(prevDateCurrYear, \"America/Denver\", \"M d yyyy\"): "
+Utilities.formatDate(prevDateCurrYear, "America/Denver", "M d yyyy"));
}
日志:
Unformatted prevDateCurrYear: Thu Feb 18 2016 11:29:42 GMT-0700 (MST)
Your original log:
prevDateCurrYear.getMonth()
: 1
prevDateCurrYear.getDay()
: 4
prevDateCurrYear.getYear()
: 2016
Using 'Utilites.formatDate()`:
month: 2
date: 18
year: 2016
Utilities.formatDate(prevDateCurrYear, "America/Denver", "M d yyyy")
: 2 18 2016
Google 表格中的日期有点麻烦。我基本上是在尝试减去日期,但它不起作用。但是首先,我试图了解日期是如何工作的。这是一个关于日期的奇怪行为的例子。
function addDates(sheet)
{
var prevDateCurrYear = new Date();
Logger.log(prevDateCurrYear);
Logger.log(prevDateCurrYear.getMonth()+' '+prevDateCurrYear.getDay()+' '+prevDateCurrYear.getYear());
}
这是日志
[15-02-03 18:15:21:631 EST] Tue Feb 03 18:15:21 GMT-05:00 2015
[15-02-03 18:15:21:632 EST] 1 2 2015
getMonth 和 getDay 似乎不起作用。它应该拉动 2 和 3 而不是拉动 1 和 2。为什么会这样?
我正在使用此文档:https://developers.google.com/apps-script/reference/contacts/date-field
实际上 getMonth 和 getDay 是 Java 脚本方法。 getMonth 和 getDay 在 Java 脚本中的工作方式不同。您可以参考这些页面以获取更多信息。
http://www.w3schools.com/jsref/jsref_getday.asp
http://www.w3schools.com/jsref/jsref_getmonth.asp
希望对您有所帮助!
有几件事需要考虑。
1. 在脚本项目属性中设置时区。文件,项目属性。
2. 使用 Utilities.formatDate()
可以减轻很多麻烦,因为您可以根据需要标准化日期。
3. getDay()
和 getDate()
return "day of the week (i.e. 1-7)" 和 "the date of the month (i.e. 1-31)"。
这里有一些关于日期的详细信息需要澄清:
function addDates() {
var prevDateCurrYear = new Date();
var year = Utilities.formatDate(prevDateCurrYear, "America/Denver", "yyyy");
var date = Utilities.formatDate(prevDateCurrYear, "America/Denver", "d");
var month = Utilities.formatDate(prevDateCurrYear, "America/Denver", "M");
Logger.log("\nUnformatted prevDateCurrYear: "+prevDateCurrYear+
"\n\nYour original log:\nprevDateCurrYear.getMonth(): "+prevDateCurrYear.getMonth()+"\n"+
"prevDateCurrYear.getDay(): "+prevDateCurrYear.getDay()+"\n"+
"prevDateCurrYear.getYear(): "+prevDateCurrYear.getYear()+"\n"+
"\nUsing Utilites.formatDate():\nmonth: "+month+"\ndate: "+date+"\nyear: "+year+
"\nUtilities.formatDate(prevDateCurrYear, \"America/Denver\", \"M d yyyy\"): "
+Utilities.formatDate(prevDateCurrYear, "America/Denver", "M d yyyy"));
}
日志:
Unformatted prevDateCurrYear: Thu Feb 18 2016 11:29:42 GMT-0700 (MST)
Your original log:
prevDateCurrYear.getMonth()
: 1
prevDateCurrYear.getDay()
: 4
prevDateCurrYear.getYear()
: 2016Using 'Utilites.formatDate()`:
month: 2
date: 18
year: 2016
Utilities.formatDate(prevDateCurrYear, "America/Denver", "M d yyyy")
: 2 18 2016