首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >兼容的浏览器日期格式

兼容的浏览器日期格式
EN

Stack Overflow用户
提问于 2015-12-19 12:21:31
回答 3查看 167关注 0票数 0

我试图使用以下方法显示"dd-mm-yyyy“日期格式

代码语言:javascript
运行
复制
document.getElementById('engStartDate').value=endDate.toLocaleDateString('en-IN',options);

但我没有获得所需的铬格式。

铬:2016年6月11日

火狐:11-6月-2016年

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-12-19 12:26:48

它可能不会直接回答你的问题,但我建议你给动量一个尝试。它是一个Javascript库,允许您操作和格式化日期,并保存了我的隐藏不止一次。在你的例子中,你会做一些类似的事情

代码语言:javascript
运行
复制
document.getElementById('engStartDate').value = moment(endDate).format('DD-MM-YYYY);
票数 2
EN

Stack Overflow用户

发布于 2015-12-19 12:55:52

我强烈建议您手动执行或使用lib。

我写了一个格式化数据时间的例子。

代码语言:javascript
运行
复制
var datetimeFormat = function ( datetime, formatStr) {
        var obj = null;
        if (({}).toString.call(datetime) === '[object Date]') {
            obj = datetime;
        } else {
            datetime = +datetime || 0;
            datetime = datetime < +new Date() / 100 ? datetime * 1000 : datetime;
            obj = new Date(datetime);
        }
        var str = formatStr;
        var Week = ['Sun', 'Mon', 'Tue', 'Wen', 'Tur', 'Fri', 'Sat'];

        str = str.replace(/yyyy|YYYY/, obj.getFullYear());
        str = str.replace(/yy|YY/,('0' + obj.getYear() % 100).slice(-2));
        var month = obj.getMonth() + 1;
        str = str.replace(/MM/, ('0' + month).slice(-2));
        str = str.replace(/M/g, month);

        str = str.replace(/w|W/g, Week[obj.getDay()]);

        str = str.replace(/dd|DD/, ('0' + obj.getDate()).slice(-2));
        str = str.replace(/d|D/g, obj.getDate());

        str = str.replace(/hh|HH/, ('0' + obj.getHours()).slice(-2));
        str = str.replace(/h|H/g, obj.getHours());
        str = str.replace(/mm/, ('0' + obj.getMinutes()).slice(-2));
        str = str.replace(/m/g, obj.getMinutes());

        str = str.replace(/ss|SS/, ('0' + obj.getSeconds()).slice(-2));
        str = str.replace(/s|S/g, obj.getSeconds());
        return str;
    }

document.getElementById('engStartDate').value = datetimeFormat(new Date(), 'dd-MM-yyyy')
代码语言:javascript
运行
复制
<input type='text' id='engStartDate'/>

票数 0
EN

Stack Overflow用户

发布于 2015-12-19 12:56:10

http://ecma-international.org/ecma-262/6.0/index.html#sec-date.prototype.tolocaledatestring不带任何参数,结果完全依赖于实现。

如果您想要一种特定的格式,您可以使用一个库,但是编写一个简单的函数来输出dd格式并不难:

代码语言:javascript
运行
复制
function toDMY(d) {
  function z(n){return (n<10?'0':'')+n}
  return z(d.getDate()) + '-' + z(d.getMonth()+1) + '-' + d.getFullYear();
}

document.write(toDMY(new Date()));

还有http://www.ecma-international.org/ecma-402/1.0/#sec-8 (也在MDN上),但是它还没有得到很好的支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34370677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档