【问题标题】:using javascript to format a date使用 javascript 格式化日期
【发布时间】:2014-08-07 13:36:46
【问题描述】:

我目前有这个返回日期的 JS 小程序:

function dateFormatter(date) {
  return date;
}

返回:

2014 年 8 月 6 日星期三 14:43:58 GMT+0100(GMT 标准时间)

如何调整该功能,使其显示如下内容:8 月 14 日

我看到输出已经是 8 月了,但猜测 2014 到 14 的日期需要对此进行调整

提前致谢

【问题讨论】:

  • JS 中的日期格式是一个巨大的痛苦。您使用内置函数剖析日期的各个部分,这将起作用,但实施起来很慢并且没有国际化。或者,您可以使用 Date.js,它会为您处理所有这些问题。
  • 如果你想要轻量级的写你自己的,拉出月份和年份。似乎是一件非常简单的事情。

标签: javascript jquery


【解决方案1】:

你应该试试momentjs:

function dateFormatter(date) {
  return moment(date).format('MMM YY');
}

使用纯 JS:

function dateFormatter(date) {
  return date.toString().split(' ')[1] + ' ' + date.getFullYear() % 100;
}

【讨论】:

  • 它只是希望在不加载插件等的情况下尽可能地保持轻量级。
【解决方案2】:

如果你想从 Date 对象格式化,使用这个:

function formatDate(date) { //takes a Date object
    var monthArr = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec']; //creates array of month names
    var month = monthArr[date.getMonth()]; //selects array element equal to getMonth(), which ranges from 0-11
    var year = date.getFullYear()%100; //takes the full year (4 digits) mod 100, so the last two digits
    var dateString = month + ' ' + year;
    return dateString;
}

如果你想格式化一个字符串,就像你提供的那样,使用这个:

function formatDate2(str) { //takes a string
    var dateArr = str.split(' '); //creates array from string, splitting by spaces
    var dateString = dateArr[1] + ' ' + dateArr[3].slice(2,4); //gets element 1 (month) and the last two digits of of element 3 (year)
    return dateString;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    • 2022-01-18
    相关资源
    最近更新 更多