2015-07-21 96 views
1

我想使用这个库http://momentjs.com/与关键MHMchiX6c1bwSqGM1PZiW_PxhMjh3Sh48 How do I use momentsjs in Google Apps Script?如何在Google Apps脚本中使用区域设置moment.js?

var moment = Moment.load(); 
var d = moment().format("DD MMMM YYYY"); 
Logger.log(moment(d).format('LL')); 

,我在英语正确的格式获取日期,但我需要它在俄罗斯。当我添加一行:

var moment = Moment.load(); 
moment.locale('ru'); 
var d = moment().format("DD MMMM YYYY"); 
Logger.log(moment(d).format('LL')); 

它不工作,我得到通知 - 无法找到对象功能(B,C,d,E){...}功能区域。我的代码有问题吗?

+0

有您加载的'ru'区域? http://momentjs.com/docs/#/i18n/changing-locale/ –

+0

嗯,说locale不是一个函数,也许你有一个旧版本的moment.js,需要使用'moment.lang('ru ');'而不是 –

+1

是的,它似乎库使用旧版本的脚本...我从网站momentjs.com与本地化和此代码采取脚本: moment.locale('RU'); var d = moment()。format(“DD MMMM YYYY”); Logger.log(moment(d).format('LL')); 现在工作正常!谢谢大家的回答=) –

回答

2

您需要包含的语言环境库 - 位于: https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment-with-locales.js 你也有一对夫妇编码错误的:

var d = moment().format("DD MMMM YYYY"); 

此时d是一个文本字符串 - 不是一个瞬间的对象。 试试这个:

moment.locale('ru'); 
var d = moment(); 
Logger.log(d.format('LL')); 

应该工作..

但本身记moment.js不支持的语言环境。

+2

如何找到图书馆的项目密钥? – Magico

0

随着最新moment.js(2.18.1)你可以做这样的:

function testMomentLocaleRussian() { 
    eval(UrlFetchApp.fetch('https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-with-locales.js').getContentText()); 

    moment.locale('ru'); 
    var m = moment(); 
    Logger.log(m.format('LL')); 
} 

为了使用最新moment.js从谷歌应用程序脚本删除旧的图书馆,只是使用eval(UrlFetchApp.fetch像我上面的例子。用最新版本替换2.18.1。

此链接提供您可以从cdnjs使用所有moment.js版本(或主机moment.js自己的服务器上):

https://cdnjs.com/libraries/moment.js/

相关问题