从给定的日期字符串中获取年份

时间:2015-10-15 09:35:43

标签: javascript jquery date

我有这种日期格式

  

2015年1月1日

我怎样才能获得这一年" 2015"来自字符串" 2015年1月1日"?

到目前为止我试过这个

var str = "Jan 1, 2015";
var res = str.substr(1, 7);

但不幸的是,遗憾的是没有工作。有什么帮助,想法,线索吗?

8 个答案:

答案 0 :(得分:4)

这可能是最安全的解决方案:

new Date('Jan 1, 2015').getFullYear();  // 2015

答案 1 :(得分:1)

您可以使用,分隔符

分解字符串
var res = +'Jan 1, 2015'.split(',')[1];

substr

var res = +'Jan 1, 2015'.substr(7),
    res = +'Jan 1, 2015'.substr(-4);

答案 2 :(得分:1)

如果字符串总是采用该格式,则可以选择以下选项:

var str = "Jan 1, 2015";
var year = parseInt(str.split(', ').pop());
alert(year)

str.split(', ')将字符串拆分为如下数组:["Jan 1", "2015"]
然后,.pop返回最后一个值"2015",而parseInt显然会将其解析为整数。

答案 3 :(得分:1)

或者您可以使用最复杂的方式之一!

    O O
     °
    \O/
  • 从0年到3999年仅对字符串 日期有效。
    Feb 31, 2015是有效的字符串,不是有效的日期

var reg = /^([JFMASON][abceglnoprtuv]{2}) ([1-9]|[12][0-9]|[3][01]), ([0-9]|[12][0-9]|[123]?[0-9][0-9]{2})$/;

var r;
document.write('<br> :' +  ( (r = 'Feb 31, 2015'.match(reg))  ? r[3] : 'not valid') );
document.write('<br> :' +  ( (r = 'Jan 31, 3015'.match(reg))  ? r[3] : 'not valid') );
document.write('<br> :' +  ( (r = 'Jan 31, 2015'.match(reg))  ? r[3] : 'not valid') );
document.write('<br> :' +  ( (r = 'Jan 31, 1995'.match(reg))  ? r[3] : 'not valid') );
document.write('<br> :' +  ( (r = 'Jan 31, 115'.match(reg))  ? r[3] : 'not valid') );
document.write('<br> :' +  ( (r = 'Jan 31, 15'.match(reg))  ? r[3] : 'not valid') );
document.write('<br> :' +  ( (r = 'Jan 31, 5'.match(reg))  ? r[3] : 'not valid') );
document.write('<br> :' +  ( (r = 'Jan 31, 0'.match(reg))  ? r[3] : 'not valid') );

document.write('<br> :' +  ( (r = 'Jan 31, 4000'.match(reg))  ? r[3] : 'not valid') );

答案 4 :(得分:0)

所有其他解决方案只是操纵字符串。但如果它真的是一个约会:

var year = new Date("Jan 1, 2015").getFullYear();
//year = 2015

答案 5 :(得分:0)

您可以使用javaScript日期格式:

var date = new Date(str);
var year = date.getFullYear();

有关更多信息,请查看 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

答案 6 :(得分:0)

你也可以使用 var timestamp = Date.parse(&#34; 2015年1月1日和#34;); 的console.log(时间戳); // 1420052400000 并转换任何类型的日期参数

答案 7 :(得分:-1)

var data = 'Jan 1, 2015';
var data1 = data.split(' ');
alert(data1[2]);

拆分值然后得到最后一个。 在您的示例中,在空格中进行拆分并获取最后一个2

的索引

你也可以使用pop()

data1.pop()