如何根据浏览器文化格式化JavaScript Date
How format JavaScript Date with regard to the browser culture?
我需要格式化JavaScript Date对象。它应该根据浏览器使用的区域性以简短格式显示日期和时间,例如:
20/10/2011 10:20 PM
10.20.2011 22:20
我如何做到这一点(最好使用jQuery)?
浏览器要么使用系统设置日期格式,要么使用自己的设置(通常以美国为中心)。
有一个 date .prototype. tolocaledatestring ()方法,它应该根据当前系统设置返回一个日期,但是它的实现依赖于浏览器之间的不一致,并且完全不可靠。
。2011年12月13日:
- Safari返回
13 December 2001
- Firefox
12/13/2011
- Opera
Tuesday December 13, 2011
- Chrome
Tuesday, December 13, 2011
- ie 6
Tuesday, 13 December, 2011
所以实际上只有Safari和IE使用了系统设置,似乎其他浏览器的开发者要么太懒,要么漠不关心,要么不知道如何适应非美国用户。
另一种方法是询问用户喜欢哪种格式,或者直接使用一种明确的格式,例如,每个人都能理解13-Dec-2011。如果您确实必须只使用数字,那么ISO-8601格式应该很好:2011-12-13,其附加的好处是它易于排序。
以上述格式打印短日期的一些函数:
// format: 2011/12/5
function shortDate1(obj) {
obj = obj || new Date();
return obj.getFullYear() + '/' + (obj.getMonth() + 1) + '/' + obj.getDate();
}
// format: 2011/12/05
// (padded single digit month and day)
function shortDate2(obj) {
function z(n) {
return (n < 10? '0' : '') + n;
}
obj = obj || new Date();
return obj.getFullYear() + '/' + z(obj.getMonth() + 1) + '/' + z(obj.getDate());
}
// format: 15-Dec-2011
function shortDate3(obj) {
obj = obj || new Date();
function z(n) {
return (n < 10? '0' : '') + n;
}
months = ['Jan','Feb','Mar','Apr','May','Jun',
'Jul','Aug','Sep','Oct','Nov','Dec'];
return [z(obj.getDate()),months[obj.getMonth()],obj.getFullYear()].join('-');
}
Date()对象将为您提供客户端时间(此处为实时演示):
var now=new Date();
alert(now.toLocaleString());
JS和jQuery没有内置的格式函数。使用format()
(1.2kb)这样的函数来格式化它,然后下面的代码将产生一个类似"10/10/2012 8:50pm"的格式:
var now=new Date();
alert( now.format("mm/dd/yy h:MM:ss TT") );
知道系统在其字符串方法中是使用day-month还是month-day很方便,主要用于设置用户输入的顺序。toLocaleString可以很好地用于显示已知日期-并且它是国际性的。
Date.dmOrder=(function(){
return Date.parse('2/6/2009')> Date.parse('6/2/2009');
})()
if(Date.dmOrder)// ask for the date first
else // ask for the month first
相关文章:
- 表格式化 Javascript
- 有没有一种方法可以在TestComplete中自动格式化(Javascript)代码
- 格式化 Javascript 中的文本
- Netbeans IDE 中的自动格式化 Javascript
- 为什么没有一种标准方法来格式化 javascript 中的日期对象
- 在 JavaScript 中正确格式化 JavaScript
- 如何格式化javascript函数date()的输出
- 使用JSON将格式化JavaScript代码传递给HighCharts
- 我可以用换行符和制表符格式化JavaScript/JQuery代码吗
- 重新格式化javascript以适应google闭包编译器's命名空间扁平化
- 使用公制前缀格式化javascript数字,如1.5K、1M、1G等
- 使用vim-replace重新格式化Javascript函数表达式
- 如何格式化JavaScript长字符串日期
- 使用Jade格式化Javascript子字符串
- 格式化JavaScript中document.write()的输出
- 美国运通,CC格式化Javascript -让我们一次性解决这个问题
- 如何根据浏览器文化格式化JavaScript Date
- 格式化Javascript数据数组
- 有什么插件可以让vim格式化javascript,就像在Visual Studio中格式化一样
- 格式化javascript函数的正确方法