js Date函数的格式化

/*
*日期格式1.2.3
*(三)2007-2009史蒂芬levithan
* mit许可
*
*包括由scott特伦达增强
*和克里斯科沃尔
*
*接受一个日期,一个面具,或一个日期和口罩。
*返回一个给定的日期格式的版本。
*日期默认为当前日期/时间。
*默认为dateformat.masks.default的面具。*/

var dateformat = function () {
var token = /d{1,4}|m{1,4}|yy(?:yy)?|([hhmstt])?|[llosz]|"[^"]*"|'[^']*'/g,
timezone = /(?:[pmcea][sdp]t|(?:pacific|mountain|central|eastern|atlantic) (?:standard|daylight|prevailing) time|(?:gmt|utc)(?:[-+]d{4})?)/g,
timezoneclip = /[^-+da-z]/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"](), l = date[_ + "milliseconds"](), o = utc ? 0 : date.gettimezoneoffset(), flags = { d: d, dd: pad(d), ddd: df.i18n.daynames[d], dddd: df.i18n.daynames[d + 7], m: m + 1, mm: pad(m + 1), mmm: df.i18n.monthnames[m], mmmm: df.i18n.monthnames[m + 12], 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), l: pad(l, 3), l: pad(l > 99 ? math.round(l / 10) : l),
t: h < 12 ? "a" : "p",
tt: h < 12 ? "am" : "pm",
t: h < 12 ? "a" : "p",
tt: h < 12 ? "am" : "pm", z: utc ? "utc" : (string(date).match(timezone) || [""]).pop().replace(timezoneclip, ""), o: (o > 0 ? "-" : "+") + pad(math.floor(math.abs(o) / 60) * 100 + math.abs(o) % 60, 4),
s: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
};

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: [
"sun", "mon", "tue", "wed", "thu", "fri", "sat",
"sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"
],
monthnames: [
"jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec",
"january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"
]
};

// for convenience...
date.prototype.format = function (mask, utc) {
return dateformat(this, mask, utc);
};

使用方法

 

var now = new date();

now.format("m/dd/yy");

/ /返回,例如,6/09/07

/ /也可作为一个独立的函数中使用
dateformat(现在,“dddd将,嗯局副局长,西元年,高:mm:ss的特”);
/ /周六,2007年6月9日,下午5时46分21秒

/ /你可以使用多种命名口罩1
now.format(“isodatetime”);
/ / 2007 - 06 - 09t17:46:21

/ / ...或添加您自己的
dateformat.masks.hammertime ='为hh:mm! “可以'吨触摸这个!”;
now.format(“hammertime”);
/ / 17:46!无法触摸这个!

/ /当使用独立dateformat功能,
/ /你也可以提供一个字符串日期
dateformat(“2007年6月9日”,“fulldate”);
/ /周六,2007年6月9日

/ /注意,如果您不包括面具的论据,
/ / dateformat.masks.default使用
now.format();
/ /周六2007年6月9日十七点46分21秒

/ /如果你不包含日期参数,
/ /当前日期和时间是用来
dateformat();
/ /周六2007年6月9日17时46分22秒

/ /你也可以跳过date参数(只要你不面具
/ /包含任何数字),在这种情况下,当前日期/时间是用来
dateformat(“长期”);
/ /美国东部时间下午5点46分22秒

/ /最后,你可以转换本地时间为utc时间。无论是通过在
/ /真正作为一个额外的参数(在这种情况下没有理由可以跳过):
dateformat(现称“老”,真);
now.format(“长期”,真实);
/ /这两条线的回报,例如,下午10时46分21秒星期日

时间: 2024-10-26 22:08:02

js Date函数的格式化的相关文章

JS Date函数整理方便使用_基础知识

JS Date 对象用于处理日期和时间. 创建 Date 对象的语法: var myDate=new Date() Date 对象会自动把当前日期和时间保存为其初始值. 参数形式有以下5种: 复制代码 代码如下: new Date("month dd,yyyy hh:mm:ss"); new Date("month dd,yyyy"); new Date(yyyy,mth,dd,hh,mm,ss); new Date(yyyy,mth,dd); new Date(m

PHP 的 date() 函数用于格式化时间或日期

PHP Date() 函数 PHP Date() 函数可把时间戳格式化为可读性更好的日期和时间. 语法 date(format,timestamp) 参数 描述 format 必需.规定时间戳的格式. timestamp 可选.规定时间戳.默认是当前的日期和时间. PHP 日期 - 什么是时间戳(Timestamp)? 时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数.它也被称为 Unix 时间戳(Unix Timestamp). PHP 日期 - 格式化日期 da

sqlserver 获取date函数年月日格式化

  方法一  代码如下   SELECT convert(char(6),getdate(),112) 方法二  代码如下   select * from 表名 where Convert(varchar(100),日期字段,23)='2013-12-15' 使用Convert()函数: select convert(char(10),GetDate(),120) as Date * 第3个参数就是用来设置日期类型数据的显示样式的,下面介绍几种样式的参数: 100 mm dd yyyy 101

扩展JS Date对象时间格式化功能的小例子_javascript技巧

在自己JS代码中引入一下代码: 复制代码 代码如下: Date.prototype.format =function(format){    var o = {            "M+" : this.getMonth()+1, //month            "d+" : this.getDate(), //day            "h+" : this.getHours(), //hour            "

js模仿php中strtotime()与date()函数实现方法_javascript技巧

本文实例讲述了js模仿php中strtotime()与date()函数实现方法.分享给大家供大家参考.具体如下: 在js中没有像php中strtotime()与date()函数,可直接转换时间戳,下面我们来自定一个函数来实现js中具体有时间戳转换的功能. function datetime_to_unix(datetime){ var tmp_datetime = datetime.replace(/:/g,'-'); tmp_datetime = tmp_datetime.replace(/

原生JS:Date对象全面解析_javascript技巧

Date对象:基于1970年1月1日(世界标准时间)起的毫秒数 本文参考MDN做的详细整理,方便大家参考MDN 构造函数: 1.new Date(); 依据系统设置的当前时间来创建一个Date对象. 2.new Date(value); value代表自1970年1月1日00:00:00 (世界标准时间) 起经过的毫秒数. 3.new Date(dateString); dateString表示日期的字符串值.该字符串应该能被 Date.parse() 方法识别(符合 IETF-complian

js常用函数2008-8-16整理第1/2页_javascript技巧

//js常用函数 更新2008-8-16 取自网络 function $(id) { return document.getElementById(id); } /************** 函数:getElementsByClassName 使用方法: 获取document内的超链接class是"info-links"的. getElementsByClassName(document, "a", "info-links"); 获取conta

js 实现日期灵活格式化的小例子

这篇文章介绍了js实现日期灵活格式化的小例子,有需要的朋友可以参考一下   复制代码 代码如下: /**  * 时间对象的格式化;  */ Date.prototype.format = function(format) {      /*      * eg:format="YYYY-MM-dd hh:mm:ss";      */     var o = {          "M+" :this.getMonth() + 1, // month        

PHP自定义函数实现格式化秒的方法_php技巧

本文实例讲述了PHP自定义函数实现格式化秒的方法.分享给大家供大家参考,具体如下: function vtime($time) { $output = ''; foreach (array(86400 => '天', 3600 => '小时', 60 => '分', 1 => '秒') as $key => $value) { if ($time >= $key) $output .= floor($time/$key) . $value; $time %= $key;