我從一個單元格呼叫了以下應用程式腳本,我預計結果是一月,但 M01 又回來了。這種通用邏輯在其他地方使用得很好,所以不太確定我做錯了什么。getFullYear 作業正常。
在此先感謝您的幫助。
function actualBudget(date) {
const dateObj = new Date(date)
const month = dateObj.toLocaleString('default', { month: 'long' })
const year = dateObj.getFullYear().toString()
return month
}

uj5u.com熱心網友回復:
我和你遇到了同樣的問題。當時,問題的原因是語言環境值。所以,我認為當我看到你的腳本時,default語言環境可能是你問題的原因。那么例如,如何修改 from defaulttoen-US如下?
從:
const month = dateObj.toLocaleString('default', { month: 'long' })
到:
const month = dateObj.toLocaleString("en-US", { month: 'long' });
- 在這種情況下,請
en-US根據您要使用的語言環境進行修改。
筆記:
- 不使用自定義功能時,
Session.getActiveUserLocale().replace("_", "-")可以使用。但在自定義函式的情況下,Session.getActiveUserLocale()回傳空值。因為腳本不是由活動用戶運行的。由此,我建議手動設定語言環境。
參考:
- toLocaleString()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/340848.html
標籤:javascript 日期 谷歌应用程序脚本 谷歌表格 国际
