我正在使用谷歌注释时间表图表绘制图表 https://code.google.com/apis/ajax/playground/?type=visualization#annotated_time_line
我通过json格式的ajax调用在像这样的数组中获取我的数据
d[1][0] = 9/30/04, d[2][0] = 12/31/04
我必须遍历这些值才能添加到数据行
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])]);
}
但是代码接受像
这样的格式[new Date(2008, 1 ,1), 30000, null, null, 40645, null, null]
那么如何改变格式?
答案 0 :(得分:0)
如果您从9/30/04
格式的日期开始,这似乎与mm/dd/yy
类似,那么您只需要将这些值与split
函数分开
var inputDate = '9/30/04',
splitDate = inputDate.split('/'); // => ["9", "30", "04"]
之后,您需要准备年,月,日数字
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
对象
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
。我会做一些日期转换功能,它以特定格式输入日期并返回日期对象。
在图表选项中使用此日期对象。