【问题标题】:Jquery: How do i convert 1111-yyyy-mm-dd into 1111-mm/dd/yyyyJquery:如何将 1111-yyyy-mm-dd 转换为 1111-mm/dd/yyyy
【发布时间】:2016-10-26 13:37:47
【问题描述】:

使用 jquery/Javascript 我如何转换日期为1111-2016-10-26 INTO 1111 - 10/26/2016 格式的值?

我尝试了下面的代码,但没有帮助。

var date = new Date('2010-10-11');
alert((date.getMonth() + 1) + '/' + date.getDate() + '/' +  date.getFullYear());

【问题讨论】:

  • 有什么问题?数字是什么意思有点棘手?
  • @James 更新我的问题。谁能帮我知道-5负评分背后的原因?,只是要求尽量不要重复同样的事情

标签: javascript jquery date


【解决方案1】:

如果您只想在没有任何日期验证的情况下进行转换,您可以使用字符串函数来完成。或者,如果您想使用日期函数,请在拆分字符串后仅将其应用于字符串的该部分。没什么特别的。

在创建 Date 对象时使用普通的 Date 构造函数(year,[month,[date...]]),不建议传递非标准格式,因为实现依赖于浏览器。

var string = "1111-2016-10-26";
var a = string.split('-');
var number = a[0];
var date = a[2] + '/' + a[3] + '/' + a[1];
console.log(number + '-' + date);

var string = '1111-2010-10-11';
var a = string.split('-').map(Number);
var date = new Date(a[1], a[2] - 1, a[3]);
var dateString = ((date.getMonth() + 1) + '/' + date.getDate() + '/' +  date.getFullYear());

console.log(a[0]+ '-' + dateString);

【讨论】:

  • 很好的答案,但是第二个代码 sn-p 中的 .map(Number) 位是多余的。 ;-)
  • @RobG 目的是在 Date 构造函数中使用之前将字符串转换为数字。没有那个我想我们可以做到+a[1]?
  • 在传递多个参数时不需要将字符串转换为数字,无论如何它们都会被转换为数字(参见ECMA-262 §20.3.2.1 step 3
猜你喜欢
  • 2016-06-21
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 2011-10-22
  • 2011-03-18
  • 1970-01-01
相关资源
最近更新 更多