【问题标题】:Outputting Wrong Date in Javascript在 Javascript 中输出错误的日期
【发布时间】:2021-05-30 15:58:42
【问题描述】:

我在用 Javascript 输出日期时遇到问题。 我想将2021-03-02T00:00:00+00:00 输出到 2021 年 3 月 2 日

export function parseDate(dateString) {
  const [date, time] = dateString.split(' ')
  return new Date(`${date}T${time}.000Z`) // Z = UTC
}

export function formatDate(dateString) {
  if (!dateString) return ''

  const date = parseDate(dateString)
  return date.toLocaleString('en', {
    year: 'numeric',
    month: 'long',
    day: 'numeric'
  })
}



 console.log(formatDate(data?.createdAt))

【问题讨论】:

标签: javascript ecmascript-6


【解决方案1】:

此解决方案基于您的预期输出:

const dataSource  = "2021-03-02T00:00:00+00:00";


function getYourDate(source){
  const date = new Date(source);
  const dd = date.getDate();
  const mm = date.toLocaleString('en',{month: 'long'});
  const yyyy = date.getFullYear();
  
  return `${mm} ${dd}, ${yyyy}`;
  }
  
  console.log(getYourDate(dataSource));

【讨论】:

  • 并且可以通过在return语句中改变顺序来改变外观/输出
【解决方案2】:

使用 toLocaleDateString 方法和以下选项:

const toReadableDateFormat = (dateStr) => {
  const date = new Date(dateStr);
  const options = { year: 'numeric', month: 'long', day: 'numeric' }
  return date.toLocaleDateString('en', options);
}

console.log(toReadableDateFormat('2021-03-02T00:00:00+00:00'));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多