从|使用toLocaleString通过javascript返回的日期中删除“ EDT”的最佳方法

如何解决从|使用toLocaleString通过javascript返回的日期中删除“ EDT”的最佳方法

| 我对javascript比较陌生,因此这可能是一个非常简单的问题。有没有简单的方法可以在使用toLocaleString返回的日期后停止\'EDT \'的打印? 谢谢!     

解决方法

        无法确定ѭ0将返回什么。您当然不能保证
EDT
会在运行它的每台计算机上显示,更不用说时区了。 从Mozilla的开发人员网络:   “ 0”方法依赖于底层操作系统的格式化日期。它使用脚本运行所在的操作系统的格式约定将日期转换为字符串。例如,在美国,月份出现在日期(04/15/98)之前,而在德国,日期出现在月份(15.04.98)之前。如果操作系统不符合Year 2000的要求,并且在1900年或2000年之前的年份中未使用全年,则toLocaleString返回不符合2000年的字符串。当转换操作系统格式不正确的年份时,toLocaleString的行为类似于toString。 一种可能的解决方法是使用
toLocaleDateString
toLocaleTimeString
构造自定义日期字符串。
// Something to this effect:
var d = new Date();
console.log(d.toLocaleDateString() + \" \" + d.toLocaleTimeString());
通常,它的输出中不会包含时区,但即使这样也不完美,因为您不知道输出的确切格式。 因此,最好的解决方案是使用自定义日期格式函数:
// Add leading-zeros to numbers less than 10[000...]
function padZ(num,n) {
    n = n || 1; // Default assume 10^1
    return num < Math.pow(10,n) ? \"0\" + num : num;
}

function formattedDate(d) {
    var day = d.getDate();
    var month = d.getMonth() + 1; // Note the `+ 1` -- months start at zero.
    var year = d.getFullYear();
    var hour = d.getHours();
    var min = d.getMinutes();
    var sec = d.getSeconds();
    return month+\"/\"+day+\"/\"+year+\" \"+hour+\":\"+padZ(min)+\":\"+padZ(sec);
}
要深入了解可用的
Date
方法,请在MDN上查看
Date
。     ,        据我所知,在Windows上,没有浏览器从toLocaleString返回\'EDT \', 并且只有Chrome才能返回时区。 其他平台可能会不同地分配字符串。 我最大的收获是Chrome使用当地时间的24小时制。 //测试新的Date()。toLocaleString()(Windows 7) Safari 5.0 >> 2011年6月14日,星期二15:13:43 Chrome 9.0.597.98 >> 2011年6月14日星期二15:15:01 GMT-0400(东部夏令时间) Opera 11.01 >> 2011/6/14下午15:15:37 Firefox 4.0.1 >> 2011年6月14日,星期二,下午3:16:33 MSIE 8.0 >> 2011年6月14日,星期二,下午3:16:06 MSIE 9.0 >> 2011年6月14日,星期二,下午3:17:09 它们都返回组中的小时:分钟:秒, 因此,您可以在时间之后排除任何内容:
var d=new Date().toLocaleString();
var s= d.toLocaleString().match(/^[^:]+(:\\d\\d){2} *(am|pm)\\b/i)[0];

returned value: (Chrome)
Tue Jun 14 2011 15:26:11:11
另一种方法是连接区域设置的日期和时间字符串,这令人惊讶的是,它不会在chrome上返回时区,但是您的里程可能会有所不同。
var D=new Date();
D.toLocaleDateString()+\' \'+D.toLocaleTimeString()
在Chrome中返回2011年6月14日星期二15:44:35     ,        
var dateWithoutTimeZone = function() {
  return new Date().toLocaleString().replace(/\\s*\\(?EDT\\)?/,\'\');
};
dateWithoutTimeZone(); // => \"Tue Jun 14 2011 2:58:04 GMT-0400\"
    ,        时区是否始终在字符串的末尾? (当我尝试时,时区根本不会出现。) 如果是这样,则可以使用slice方法删除字符串的最后四个字符(空格+ 3个字符的时区)。
document.write(mydate.toLocaleString().slice(0,-4));
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?