请问标准时间怎么转换成年月日?

CaixK
  • 514
江苏
2022-08-17T00:00:00.000+08:00 => 2022-08-17
回复
阅读 2.3k
7 个回答

有没有一种可能这就是一个标准的 ISO 8601 时间,Date 对象就能处理,不需要使用 moment,dayjs 这些。

const date = (new Date('2022-08-17T00:00:00.000+08:00'));

console.log(date.toLocaleDateString())

console.log([date.getFullYear(), date.getMonth() + 1, date.getDate()].join('-'))

这么简单的转换还用什么第三方包,为了一个函数,引那么大一个包,没必要
image.png

$ "2022-08-17T00:00:00.000+08:00".substring(0, 10)
'2022-08-17'

如果是非常标准的时间,就可以直接放到 Dare 对象里面,直接使用,

time="2022-08-17T00:00:00.000+08:00"
let formatDateTime = function (date) {
    date=new Date(date)
  var y = date.getFullYear();
  var m = date.getMonth() + 1;//注意这个“+1”
  m = m < 10 ? ('0' + m) : m;
  var d = date.getDate();
  d = d < 10 ? ('0' + d) : d;
  var h = date.getHours();
  h=h < 10 ? ('0' + h) : h;
  var minute = date.getMinutes();
  minute = minute < 10 ? ('0' + minute) : minute;
  var second=date.getSeconds();
  second=second < 10 ? ('0' + second) : second;
  return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
};
timeString = formatDateTime(time)
console.log('timeString:', timeString) 

如果是 vue 项目就可以引入 moment

import moment from 'moment'
timeStamp = "2022-08-17T00:00:00.000+08:00"
timeString = moment(timeStamp).format('YYYY-MM-DD HH:mm:ss');
console.log('timeString-moment.js', timeString) // 2020-08-17 00:00:00
joy3ewiO
  • 2
广东新手上路,请多包涵

还有最新的dayJs.
import dayjs from "dayjs";
dayjs(val).format("YYYY/MM/DD")

const s = "2022-08-17T00:00:00.000+08:00";

const d = new Date(s);
var date = [d.getFullYear(), d.getMonth() + 1, d.getDate()].map(v => `${v}`.padStart(2, "0")).join("-");

console.log(date);
前端搬运工
  • 63
陕西
function formatData() {
    let time = "2022-08-17T00:00:00.000+08:00"
    let now = new Date(time);
    let year = now.getFullYear();
    let month = (now.getMonth() + 1).toString().padStart(2, "0");
    let date = (now.getDate()).toString().padStart(2, "0");
    return `${year}-${month}-${date}`;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏