`
yangyou230
  • 浏览: 1650667 次
文章分类
社区版块
存档分类

javascript date format 时间格式函数

 
阅读更多

如果你的网站需要支持多语言,本地化,那就不可避免的要考虑当地时间的格式,每个国家对时间显示都是不太一样的,比如中文里时间是年月日,而很多欧洲国家是月日年,或者日月年,这里介绍专门处理这个问题的函数:dateFormat

这个函数最重要的就是最后一行的正则表达式,这之前的准备工作包括两步,一步是定义token,另一步是定义通过token要转换的值

/*

* Date Format 1.2.3
* (c) 2007-2009 Steven Levithan <stevenlevithan.com>
* MIT license
*
* Includes enhancements by Scott Trenda <scott.trenda.net>
* and Kris Kowal <cixar.com/~kris.kowal/>
*
* Accepts a date, a mask, or a date and a mask.
* Returns a formatted version of the given date.
* The date defaults to the current date/time.
* The mask defaults to dateFormat.masks.default.
*/


var dateFormat = function () {
var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[os]|"[^"]*"|'[^']*'/g,

pad = function (val, len) {
val = String(val);
len = len || 2;
while (val.length < len) val = "0" + val;
return val;
};


// Regexes and supporting functions are cached through closure
return function (date, mask, utc) {
var dF = dateFormat;


// You can't provide utc if you skip other args (use the "UTC:" mask prefix)
if (arguments.length == 1 && Object.prototype.toString.call(date) == "[object String]" && !/\d/.test(date)) {
mask = date;
date = undefined;
}


// Passing date through Date applies Date.parse, if necessary
date = date ? new Date(date) : new Date;
if (isNaN(date)) throw SyntaxError("invalid date");


mask = String(dF.masks[mask] || mask || dF.masks["default"]);


// Allow setting the utc argument via the mask
if (mask.slice(0, 4) == "UTC:") {
mask = mask.slice(4);
utc = true;
}


var _ = utc ? "getUTC" : "get",
d = date[_ + "Date"](),
D = date[_ + "Day"](),
m = date[_ + "Month"](),
y = date[_ + "FullYear"](),
H = date[_ + "Hours"](),
M = date[_ + "Minutes"](),
s = date[_ + "Seconds"](),

flags = {
d: d,
dd: pad(d),
ddd: dF.i18n.dayNames[D].substr(0,3),
dddd: dF.i18n.dayNames[D],
m: m + 1,
mm: pad(m + 1),
mmm: dF.i18n.monthNames[m].substr(0,3),
mmmm: dF.i18n.monthNames[m],
yy: String(y).slice(2),
yyyy: y,
h: H % 12 || 12,
hh: pad(H % 12 || 12),
H: H,
HH: pad(H),
M: M,
MM: pad(M),
s: s,
ss: pad(s),
t: H < 12 ? "a" : "p",
tt: H < 12 ? "am" : "pm",
T: H < 12 ? "A" : "P",
TT: H < 12 ? "AM" : "PM"
};


return mask.replace(token, function ($0) {
return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
});
};
}();


// Some common format strings
dateFormat.masks = {
"default": "ddd mmm dd yyyy HH:MM:ss",
shortDate: "m/d/yy",
mediumDate: "mmm d, yyyy",
longDate: "mmmm d, yyyy",
fullDate: "dddd, mmmm d, yyyy",
shortTime: "h:MM TT",
mediumTime: "h:MM:ss TT",
longTime: "h:MM:ss TT Z",
isoDate: "yyyy-mm-dd",
isoTime: "HH:MM:ss",
isoDateTime: "yyyy-mm-dd'T'HH:MM:ss",
isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"
};


// Internationalization strings
dateFormat.i18n = {
dayNames: [
"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
],
monthNames: [
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
]
};


dateFormat(new Date(),'ddd mmm dd yyyy HH:MM:ss')
分享到:
评论

相关推荐

    javascript的trim和日期时间格式化函数

    javascript的TRIM函数和日期时间格式化函数 如 var d = new Date().format('yyyy-MM-dd hh:mm:ss');

    Javascript日期格式化format函数的使用方法

    Javascript日期格式化在日常开发中还是挺常见的,那么下面就给大家分享Javascript时间格式format函数的两种使用方法示例,一起来看看。 方法一 Date.prototype.pattern=function(fmt) { var o = { "M+" : this....

    JavaScript下的时间格式处理函数Date.prototype.format

    一个全的js时间处理函数,虽然我没有仔细去研究里面的正则,但是我经过了测试,是非常好用的,你可以根据你自己的需求设置想要的时间格式的字符串输出,我应用到的格式为:MM/dd/yyyy hh:mm TT和yyyy-MM-dd HH:mm:ss...

    JavaScript自定义日期格式化函数详细解析

    一般来说,该格式化函数可以定义在 Date 对象的原型身上,也可以独立一个方法写出。定义原型方法的操作如 Date.prototype.format = function(date){……},使用时候直接 new Date().format(YYYY:MM:DD) 即可,仿佛...

    javascript实现时间格式输出FormatDate函数

    javascript没有提供像fmt标签一样对日期时间型内容格式输入的函数: 下面是我下的时间输出函数,使用时直接放到标签内,调用。代码如下 代码如下:Date.prototype.Format = function(fmt) { //author: meizz   if ...

    date.format:JavaScript日期格式库,使用与PHP的date()函数相同的方法

    date.format.js 开发它的目的是允许像一样在JavaScript和ActionScript中格式化日期。 实际上,我只是从了文档,然后列出了实现我可以轻松完成的每个选项的清单。 使用它很简单,但是您可能需要经常参考可用的格式...

    javascript格式化日期时间函数

    代码如下:function DateUtil(){}/***功能:格式化时间*示例:DateUtil.Format(“yyyy/MM/dd”,”Thu Nov 9 20:30:37 UTC+0800 2006 “);*返回:2006/11/09*/DateUtil.Format=function(fmtCode,date){ var ...

    【JavaScript源代码】vue使用过滤器格式化日期.docx

    2、设置模板函数format 接收日期值和日期格式 3、按照日期格式对日期进行拼接并返回值 4、将拼接好的日期显示在页面上  设置日期显示格式 &lt;div id="app"&gt; &lt;div&gt;{{date }}&lt;/div&gt; &lt;div&gt;{{date | format('yyyy-MM-...

    JavaScript日期时间格式化函数分享

    函数代码: 代码如下:Date.prototype.format = function(format){ var o = { “M+” : this.getMonth()+1, //month “d+” : this.getDate(), //day “h+” : this.getHours(), //hour “m+” : this....

    yihan12#day-to-day#js封装日期格式化函数1

    // 封装日期格式化函数function dateFormat (date, format = 'YYYY-MM-DD HH:mm:ss') {for(cons

    Date.shortDateFormat.js:用于格式化或本地化日期字符串的几个函数

    它创建了一个Date.prototype.toShortDateFormat函数,用于根据指定的格式将Date对象转换为仅日期字符串,如下所示: var dateOnlyString = new Date().toShortDateFormat("yyyy-mm-dd");该脚本还包括一个函数 off ...

    JavaScript实现的一个日期格式化函数分享

    由于在工作中,经常需要对日期进行格式化,不像后端那样,有方便的方法可调用,可以在date的对象prototype中定义一个format方法,见如下: 代码如下: // 日期时间原型增加格式化方法 Date.prototype.Format = ...

    ft日期格式

    date :要传递给Date构造函数的javascript Date对象或有效字符串 tpl :一个字符串,指定输出日期的格式: 'datetime' :以标准的FT long格式格式化日期,包括时间。 例如May 15, 2014 8:10 am 'date' :将日期...

    javascript 日期时间函数(经典+完善+实用)

    Date.prototype.isLeapYear 判断闰年 Date.prototype.Format 日期格式化 Date.prototype.DateAdd 日期计算 Date.prototype.DateDiff 比较日期差 Date.prototype.toString 日期转字符串 Date.prototype.toArray 日期...

    date-fns-jalali:贾拉利日历的现代JavaScript日期实用程序库

    date-fns-jalali提供最全面,最简单且一致的工具集用于在浏览器和Node.js中操纵JavaScript日期。 贾拉利日历 | 就像的约会 它具有。 模块化:选择您需要的东西。 适用于webpack,Browserify或汇总,还支持树状...

    nor-date:Node.js 的日期助手

    nor_date.format ( {string}format, {Date}timestamp, {object}opts ) 该函数将timestamp ——它是 Date 的一个实例——格式化为字符串format选项指定的format 。 如果time是中省略当前的时间将被使用。 所有参数都...

    javascript util

    var result = (new Date()).format("yyyy年MM月dd日 hh:mm:ss"); 获取元素遍历: $("ul li").each(function(n,i){ alert("元素是:" + n + ",索引是:" + i); }); 事件绑定: util("#id").on("click", function(){alert...

    Javascript 日期对象Date扩展方法

    代码如下:[removed] Date.prototype.Format = function(fmt) { //author: meizz var o = { “M+” : this.getMonth() + 1, //月份 “d+” : this.getDate(), //日 “h+” : this.getHours(), //小时 “m+” : this....

Global site tag (gtag.js) - Google Analytics