获取部分日期

时间:2017-07-10 12:25:25

标签: javascript

我有一个Web应用程序,可以从数据库中获取数据,包括Datetime个字段。

我需要从日期时间字段中提取年份和月份。

我添加了以下测试代码以打印到控制台中:

        var aaa ;
        var bbb ;

        for (var i = 0 ; i < l_Data_List_Tempo.Body.length ; i++) {

            aaa = l_Data_List_Tempo.Body[i][l_Due_Date_Column]             ;
            bbb = Date.parse(aaa) ;

            console.log("Original : " + aaa           ) ;
            console.log("Converted: " + bbb.toString()) ;

            try {
                console.log("Year follows 1:")
                console.log("Value: " + date.getFullYear(l_Data_List_Tempo.Body[i][l_Due_Date_Column]))

            } catch (e) { }

            try {
                console.log("Year follows 2:")
                console.log("Value: " + date.getFullYear(bbb))

            } catch (e) { }

            try {
                console.log("Year follows 3:")
                console.log("Value: " + date(l_Data_List_Tempo.Body[i][l_Due_Date_Column]).getFullYear())

            } catch (e) { }

            try {
                console.log("Year follows 4:")
                console.log("Value: " + date(bbb).getFullYear())

            } catch (e) { }
  :
  :

控制台中的结果是:

Original : 2016-08-09 00:00:00
Converted: 1470690000000
Year follows 1:
Year follows 2:
Year follows 3:
Year follows 4:

可以看出,命令console.log("Value: "..都会触发错误。

如何从原始变量(即l_Data_List_Tempo.Body[i][l_Due_Date_Column])获取 2017-03 (2017年3月)?

提前致谢。

4 个答案:

答案 0 :(得分:1)

您可以将bbb设置为日期功能并获取月份或年份

   
var date = new Date(1470690000000);  // this will be bbb.toString()
var year = date.getFullYear();
var month = ("0" + (date.getMonth() + 1)).slice(-2)

var result = year + "-" + month;
console.log(result);

<强>更新

我换了 date.getMonth()

("0" + (date.getMonth() + 1)).slice(-2)

答案 1 :(得分:0)

  1. 没有 date 对象。 getFullYear是日期对象的函数。
  2. Date.parse()返回日期的字符串表示形式,而不是日期对象。
  3. 您可以使用Date构造函数根据日期字符串构建新的日期对象,然后使用日期对象的getFullYeargetMonth函数来获取年份和月份那个日期。

    这样的事情会起作用:

    &#13;
    &#13;
    var date = new Date("2016-08-09 00:00:00");
    // in your case it will be this line
    // var date = new Date(l_Data_List_Tempo.Body[i][l_Due_Date_Column]);
    console.log("Year: " + date.getFullYear());
    console.log("Month: " + (date.getMonth() + 1).toString().padStart(2, "0")); // zero-based
    &#13;
    &#13;
    &#13;

答案 2 :(得分:0)

您使用不正确

var date = Date.parse(l_Data_List_Tempo.Body[i][l_Due_Date_Column]);
console.log(date.getFullYear())

答案 3 :(得分:0)

这是怎么做的:

var aaa = new Date("2016-08-09 00:00:00");
var year = aaa.getFullYear();
var month = aaa.getMonth();
console.log("Year is: " + year + "\nMonth is: " + month);