繁体   English   中英

显示日期1周前&昨天日期

[英]Display Date 1 Week Ago & Yesterdays Date

我正在尝试显示2个日期(当地时间),从今天起一周前的确切日期和昨天的确切日期,并使用尽可能少的javascript

例子:

一周前显示为10/07/14 ,一天前显示为10/12/14

我正在尝试以这种方式显示它

<p>The date a week ago was <span id="weekago"></span></p>
        <p>The date yesterday was <span id="yesterday"></span></p>

尽管仍然需要一些JavaScript,但您可以在jsfiddle中这样做

这有助于撤消约会的某些日子

Date.prototype.subtractDays = function(nrOfDays) {
    var day = 1000 * 60 * 60 * 24;
    return new Date(this - (day * nrOfDays));
}

这有助于格式化(左键盘)

Object.prototype.padLeft = function(char, nr) {
    var s = this.toString();
    while (s.length < nr) {
        s = char + s;
    }
    return s;
};

这种格式,因为你想要的

Date.prototype.formatStandard = function() {
    return (this.getMonth() + 1).padLeft('0', 2) + '/' +
        (this.getDate()).padLeft('0', 2) + '/' +
        this.getFullYear();
};

这将获取包含日期字段的元素(标记名称将为日期字段),而我选择了选择数据值作为属性来选择要显示的日期(因为您可能有多个工作日或昨天字段)

function encodeDateFields() {
    var elems = document.getElementsByName('datefield'), i, len, item, value;
    if (elems === null || !elems.length) {
        alert('No fields found!');
        return;
    }
    for (i = 0, len = elems.length; i < len; i++) {
        item = elems[i];
        value = item.getAttribute('data-value');
        switch (value) {
            case 'weekago':
                item.innerHTML = new Date().subtractDays(7).formatStandard();
                break;
            case 'yesterday':
                item.innerHTML = new Date().subtractDays(1).formatStandard();
                break;
            default:
                item.innerHTML = value + ' wasn\'t found!';
        }
    }
}

并且该函数称为onDomReady(使用jsfiddle)

encodeDateFields();

我对您的html进行了以下更改

<p>The date a week ago was <span name="datefield" data-value="weekago"></span></p>
<p>The date yesterday was <span name="datefield" data-value="yesterday"></span></p>

您可能需要像现在或明天一样,在可能具有的任何其他数据值属性中进行编码,但是在哪里可以做到这一点应该很明显:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM