首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改日期格式

更改日期格式
EN

Stack Overflow用户
提问于 2014-06-03 08:55:06
回答 1查看 101关注 0票数 1

我正在用google标注的时间线图line绘制一个图表

我是通过json格式的ajax调用以如下所示的数组获取数据的

代码语言:javascript
复制
d[1][0] = 9/30/04, d[2][0] = 12/31/04 

我必须循环这些值以添加到数据行中。

代码语言:javascript
复制
for (m = 1; m < datavalues.length; m++) {
    data.addRows('DATE', parseFloat(datavalues[m][2]), parseFloat(datavalues[m][3]), parseFloat(datavalues[m][4]), parseFloat(datavalues[m][5])]);
}

但是代码接受的格式如下

代码语言:javascript
复制
[new Date(2008, 1 ,1), 30000, null, null, 40645, null, null]

那么如何改变格式呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-03 09:15:45

如果以9/30/04格式(类似于mm/dd/yy )的格式开始日期,则只需使用split函数分隔这些值即可。

代码语言:javascript
复制
var inputDate = '9/30/04',
    splitDate = inputDate.split('/'); // => ["9", "30", "04"]

在此之后,您需要准备年度、月和日的数字。

代码语言:javascript
复制
var inputDate = '9/30/04',
    splitDate = inputDate.split('/'),
    year = parseInt(splitDate[2]) + (parseInt(splitDate[2]) < 50 ? 2000 : 1900), // careful with this, I don't know what years you are dealing with
    month = parseInt(splitDate[0]),
    day = parseInt(splitDate[1]);

并使用它们作为参数来创建新的Date对象。

代码语言:javascript
复制
var inputDate = '9/30/04',
    splitDate = inputDate.split('/'),
    year = parseInt(splitDate[2]) + (parseInt(splitDate[2]) < 50 ? 2000 : 1900),
    month = parseInt(splitDate[0]),
    day = parseInt(splitDate[1]),
    date = new Date(year, month, day); // => Date {Sat Oct 30 2004 00:00:00 GMT+0300 (FLE Standard Time)}

您只需确保该格式保持不变的mm/dd/yy。我会创建某种日期转换函数,它以特定的格式获取输入日期并返回日期对象。

在图表选项中使用此日期对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24010938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档