郭某人的网站

关于 / 留言

WEB 前端技术分享,在 Javascript 中也能用 C# 的 DateTime.ToString 方法

js版c#.net DateTime.ToString 方法


Javascript 在 HTML DOM 中获取时间不麻烦,但是想要获取指定格式的时间却很麻烦,下面的方法可以使 Javascript 像 C# 获取 DateTime 类的时间那样获取系统当前的时间。

function GetCurrentTime(_format) {
    var date = new Date();
    if (!_format) {
        return date.toLocaleString();
    }
    if (/y/i.test(_format)) {
        _format = _format.replace(/(yyyy)/i, date.getFullYear());
        _format = _format.replace(/(yy)/i, (date.getYear() % 100) > 9 ? (date.getYear() % 100).toString() : '0' + (date.getYear() % 100));
    }
    if (/M/.test(_format)) {
        _format = _format.replace(/(MM)/, date.getMonth() > 8 ? (date.getMonth() + 1).toString() : '0' + (date.getMonth() + 1));
        _format = _format.replace(/(M)/, date.getMonth() + 1);
    }
    if (/d/i.test(_format)) {
        _format = _format.replace(/(dd)/i, date.getDate() > 9 ? date.getDate().toString() : '0' + date.getDate());
        _format = _format.replace(/(d)/i, date.getDate());
    }
    if (/h/i.test(_format)) {
        _format = _format.replace(/(hh)/i, date.getHours() > 9 ? date.getHours().toString() : '0' + date.getHours());
        _format = _format.replace(/(h)/i, date.getHours());
    }
    if (/m/.test(_format)) {
        _format = _format.replace(/(mm)/, date.getMinutes() > 9 ? date.getMinutes().toString() : '0' + date.getMinutes());
        _format = _format.replace(/(m)/, date.getMinutes());
    }
    if (/s/i.test(_format)) {
        _format = _format.replace(/(ss)/i, date.getSeconds() > 9 ? date.getSeconds().toString() : '0' + date.getSeconds());
        _format = _format.replace(/(s)/i, date.getSeconds());
    }
    if (/f/i.test(_format)) {
        _format = _format.replace(/(fff)/i, date.getMilliseconds().toString().substr(0, 3));
        _format = _format.replace(/(ff)/i, date.getMilliseconds().toString().substr(0, 2));
        _format = _format.replace(/(f)/i, date.getMilliseconds().toString().substr(0, 1));
    }
    return _format;
}

 

使用方法如 GetCurrentTime("yyyy/MM/dd HH:mm:ss:fff")

_format 参数指年月日、时分秒和毫秒格式化字符,分别可以是 yyyy, yy, MM, M, dd, d, hh, h, mm, m, ss, s, fff, ff, f,其中大写 M 代表月份,小写 m 代表分钟,其它字符不区分大小写,可以和其它字符进行格式组合,如 “ yy年M月d日 ”,单写和双写形式类似 .NET Framework 中的区别,如 MM 可能为固定长度的月份 “ 03 ”,而 M 可能为可变长度的月份 “ 3 ”。


最后更新时间:2023/02/17 13:30

如果您喜欢此文章,或此文章给您带来了任何帮助,请考虑对我进行资金赞赏,您的支持将会成为我坚持的力量。

注意!你的赞赏转账请考虑再三后支付,此收款不作任何形式的退款。

网站维护预告

通知:

郭某人的网站将于 2025 年 6 月 9 日 12:00 开始进行站点维护,届时网站服务将会停止,整个过程预计持续 6 小时,请于此时间之后再访,希望你能理解。

郭某人