這個谷歌腳本還有一些其他問題。 如果我想要時區AEST,但只有2017年1月27日的形式,那麼Utilities.formatDate(「1/27/2017」,「AEST」,「yyyy-MM-dd」)將返回一個2017-01-26的價值,它應該是前一天!但是,如果我有一段時間,比如「2017年1月27日12:00:00」,那麼它會返回正確的一天。但是,如果我使用「GMT + 11」作爲時區,即使沒有時間,如果返回正確的日期。
實施例 -
Logger.log('Example 1='+Utilities.formatDate(new Date("1/27/2017"),"AEST","yyyy-MM-dd")); Logger.log('Example 2='+Utilities.formatDate(new Date("1/27/2017 12:00:00"),"AEST","yyyy-MM-dd")); Logger.log('Example 3='+Utilities.formatDate(new Date("1/27/2017"),"GMT+11","yyyy-MM-dd"));
輸出 -
實施例1 = 2017年1月26日
實施例2 = 2017年1月27日
實施例3 = 2017- 01-27
從日期讀取日期時的解決方法在沒有時間一個電子表格單元格是添加時間和使用時區像「AEST」或類似的,這樣的事情時 -
var displayDate = sheet.getRange(a1Notation).getDisplayValue(); // Not .getValue();
Logger.log(Utilities.formatDate(new Date(displayDate + " 12:00:00"), "AEST", "yyyy-MM-dd"));
但是因爲你不「GMT + 11」會更容易不需要添加時間。
非常好,謝謝! – user3497630