Apigee API平台中忽略了Javascript Date.toLocaleString()

时间:2014-03-18 01:27:31

标签: javascript apigee

我正在Apigee API平台中开发API代理。我使用Javascript脚本将日期转换为用户友好的表示。 所以我有这个代码:

var endDate = new Date(2014, 01, 01, 00, 00, 00);
var options = {
  localeMatcher: 'best fit',
  weekDay: 'short',
  year: 'numeric',
  month: 'short',
  day: '2-digit',
  hour: '2-digit',
  minute: '2-digit',
  second: '2-digit',
  timezone: 'America/El_Salvador',
  timeZoneName: 'short'
};
var friendly_endDate = endDate.toLocaleDateString('es-SV', options);

我总是最终得到一个en-US格式的日期,如下所示:

February 1, 2014 12:00:00 UTC

忽略时区,选项和区域设置。这是正常的吗?我错过了什么吗?

3 个答案:

答案 0 :(得分:1)

最新版本的Rhino(1.7R4)于2012年6月18日发布released。根据{{​​3}},locales和options参数与Mozilla docs on Date.toLocaleDateString一起添加,看起来好像是在2012年12月发布的。

我认为您最好的办法是找到一个可以包含在您的策略中的JavaScript库,然后使用它。有关包含JavaScript库的说明,请参阅ECMAScript Internalization API

答案 1 :(得分:1)

我使用moment JS libray。非常好的设计简单的库为JS基础日期操作。试一试。

答案 2 :(得分:0)

我们还有一个工作示例,向您展示如何在API代理中使用JavaScript库:

https://github.com/apigee/api-platform-samples/tree/master/sample-proxies/base64encoder