我有一个日期,格式是2014年5月11日太阳。如何使用JavaScript将其转换为2014-05-11 ?

函数taskDate(dateMilli) { var d = (new Date(dateMilli) + ")。分割(' '); D [2] = D [2] + ','; 返回[d[0], d[1], d[2], d[3]]。加入(' '); } var datemilli =日期。解析(' 2014年5月11日'); console.log (taskDate (datemilli));

上面的代码给了我相同的日期格式,2014年5月11日。我该如何解决这个问题?


当前回答

我修改了Samit Satpute的回复如下:

var newstartDate = new Date(); // newstartDate.setDate(newstartDate.getDate() - 1); var startDate = newstartDate.toISOString().replace(/[-T:\. txt)Z] / g”、“);/ /。片(0,10);//以YYYY MM DD格式获取昨天的日期 console.log (startDate可以);

其他回答

如果日期需要在所有时区都相同,例如表示数据库中的某个值,那么请确保在JavaScript date对象上使用UTC版本的日、月、年函数,因为这将以UTC时间显示,并避免在某些时区出现差一的错误。

更好的是,使用Moment.js日期库来进行这种格式设置。

你可以:

函数formatDate(日期){ var d = new Date(日期), 月= " + (d.getMonth() + 1) ", day = " + d.getDate(), year = d.g getfullyear (); 如果(月。长度< 2) 月= '0' +月; 如果一天。长度< 2) Day = '0' + Day; 返回[年,月,日].join('-'); } console.log(formatDate('Sun May 11,2014'));

使用的例子:

console.log(formatDate('Sun May 11,2014'));

输出:

2014-05-11

JSFiddle的演示:http://jsfiddle.net/abdulrauf6182012/2Frm3/

Date.js很适合这个。

require("datejs")
(new Date()).toString("yyyy-MM-dd")

这是我必须改变的关于人们从格林威治标准时间向东或向西的偏移量:

export const toNativeHtml5InputDate = (date) => {
  if (!date) return date;

  let offset = new Date(date).getTimezoneOffset();

  offset =
    offset < 0
      ? offset * -1 // east from Greenwich Mean Time
      : offset; // west from Greenwich Mean Time

  return new Date(new Date(date).getTime() + offset * 60 * 1000)
    .toISOString()
    .split('T')[0];
};

我修改了Samit Satpute的回复如下:

var newstartDate = new Date(); // newstartDate.setDate(newstartDate.getDate() - 1); var startDate = newstartDate.toISOString().replace(/[-T:\. txt)Z] / g”、“);/ /。片(0,10);//以YYYY MM DD格式获取昨天的日期 console.log (startDate可以);