根据当前日期获取XML文件

时间:2011-08-28 09:28:35

标签: javascript xml url date

我是使用javascript解析XML数据的新手,所以如果我的问题有点简单,请原谅。

我使用标准的xmlHTTPRequest使用javascript从XMl文件解析数据。我从中提取XML数据的URL格式如下:“http://example.com/abcyymmdd-data.xml”。 url的(yymmdd)部分表示日期,文件每天更新​​。我想在url中插入一个javascript代码代替yymmdd,以便每天解析一个新的XML文件。我怎么能实现这个目标?

谢谢, 卡洛斯

2 个答案:

答案 0 :(得分:3)

首先,要获取今天的日期,请使用:

var today = new Date;

要获取组件,请使用:

var date  = today.getDate();
var month = today.getMonth() + 1; // caveat, starts at 0
var year  = today.getFullYear();  // 4 numbers (e.g. 2011)

现在,您需要格式yymmdd。因此,您需要从年份中删除前两个数字,并在必要时将0添加到日期和月份。

function zeropad(number) {
    var str = number.toString(); // number to string

    return str.length === 1 // if length is 1
            ? '0' + str     // prepend a 0
            : str;          // otherwise return string without modification
}

然后:

var formatted = year.toString().substring(2) // only the string from the first two numbers and on
                 + zeropad(month)            // month with 0 prepended
                 + zeropad(date);            // date with 0 prepended

然后,在您的XHR中,使用:

xhr.open("GET", "http://example.com/abc" + formatted + "-data.xml", true);

答案 1 :(得分:2)

您可以yymmdd格式检索当前日期,如:

var d = new Date();
var date_string = 
    d.getFullYear().toString().substring(2) +
    (d.getMonth () < 9 ? "0" : "") + (d.getMonth() + 1) +
    (d.getDate() < 10 ? "0" : "") + d.getDate();

Example at JS Fiddle.