moment.js 日期包装类 (说明示例)

moment.js 日期包装类

Moment.js

1创建时间对象

moment();                                                             当前时间

moment(new Date(2020, 3, 7));                              date 对象创建

moment(1318781876406);                                     时间戳创建

moment("12-25-1995", "MM-DD-YYYY");                   日期文字+日期格式

moment("12-25-1995", ["MM-DD-YYYY", "YYYY-MM-DD"]);

moment([year, month , date , hours , minutes , seconds , milliseconds ]); 数组创建

moment.unix(Number)                   unix时间

日期格式表


Input


Output


M or MM


Month Number (1 - 12)


MMM or MMMM


Month Name (In currently language set by `moment.lang()`)


D or DD


Day of month


DDD or DDDD


Day of year


d, dd, ddd, or dddd


Day of week (NOTE: these tokens are not used to create the date, as there are 4-5 weeks in a month, and it would be impossible to get the date based off the day of the week)


YY


2 digit year (if greater than 70, will return 1900‘s, else 2000‘s)


YYYY


4 digit year


a or A


AM/PM


H, HH


24 hour time


h, or hh


12 hour time (use in conjunction with a or A)


m or mm


Minutes


s or ss


Seconds


S


Deciseconds (1/10th of a second)


SS


Centiseconds (1/100th of a second)


SSS


Milliseconds (1/1000th of a second)


Z or ZZ


Timezone offset as `+0700` or `+07:30` Available in version *1.2.0*


Key


Shorthand


year


y


month


M


week


w


day


d


hour


h


minutes


m


seconds


s


millisecond


ms

2 修改时间对象

2.1 加减

moment().add(1000)                         加毫秒

moment().add(‘days‘, 7)                     加7天

moment().subtract(‘days‘, 7);                    减7天

moment().add({days:-7,months:1}); 加1月,减7天

2.2设值

moment().seconds(30);       year/month/date/day/minutes/seconds 方法

moment().seconds();           取值

设首/尾

moment().startOf(‘year‘); // set to Jan 1 12:00:00.000 pm this year

moment().startOf(‘month‘); // set to the first of this month, 12:00:00.000 pm

moment().startOf(‘day‘); // set to 12:00:00.000 pm today

moment().startOf(‘hour‘); // set to now, but with 0 mins, 0 secs, and 0 ms

moment().startOf(‘minute‘); // set to now, but with 0 seconds and 0 milliseconds

moment().startOf(‘second‘); // same as moment().milliseconds(0);

moment().endOf(‘year‘);

moment().sod(); 当天头

moment().eod(); 当天尾

3       格式化输出

moment().format("dddd, MMMM Do YYYY, h:mm:ss a");


Token


Output


Month


M


1 2 ... 11 12


Mo


1st 2nd ... 11th 12th


MM


01 02 ... 11 12


MMM


Jan Feb ... Nov Dec


MMMM


January February ... November December


Day of Month


D


1 2 ... 30 30


Do


1st 2nd ... 30th 31st


DD


01 02 ... 30 31


Day of Year


DDD


1 2 ... 364 365


DDDo


1st 2nd ... 364th 365th


DDDD


001 002 ... 364 365


Day of Week


d


0 1 ... 5 6


do


0th 1st ... 5th 6th


ddd


Sun Mon ... Fri Sat


dddd


Sunday Monday ... Friday Saturday


Week of Year


w


1 2 ... 52 53


wo


1st 2nd ... 52nd 53rd


ww


01 02 ... 52 53


Year


YY


70 71 ... 29 30


YYYY


1970 1971 ... 2029 2030


AM/PM


A


AM PM


a


am pm


Hour


H


0 1 ... 22 23


HH


00 01 ... 22 23


h


1 2 ... 11 12


hh


01 02 ... 11 12


Minute


m


0 1 ... 58 59


mm


00 01 ... 58 59


Second


s


0 1 ... 58 59


ss


00 01 ... 58 59


Timezone


z or zz


EST CST ... MST PST **Note:** as of *1.6.0*, the z/zz format tokens have been deprecated. [Read more about it here.](https://github.com/timrwood/moment/issues/162)


Z


-07:00 -06:00 ... +06:00 +07:00


ZZ


-0700 -0600 ... +0600 +0700 Z and ZZ are available in version *1.2.0*


Localized date format


LT


8:30 PM LT is available in version *1.3.0*


L


07/10/1986


LL


July 10 1986


LLL


July 10 1986 8:30 PM


LLLL


Saturday, July 10 1986 8:30 PM L, LL, LLL, LLLL are available in version *1.3.0*

4       比较

var a = moment([2007, 0, 29]);

var b = moment([2007, 0, 28]);

  1. a.diff(b, ‘days‘) // 1

5       汉化

moment.lang(‘zh-cn‘, {

months : "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),

monthsShort : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),

weekdays : "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),

weekdaysShort : "周日_周一_周二_周三_周四_周五_周六".split("_"),

weekdaysMin : "日_一_二_三_四_五_六".split("_"),

longDateFormat : {

LT : "Ah点mm",

L : "YYYY年MMMD日",

LL : "YYYY年MMMD日",

LLL : "YYYY年MMMD日LT",

LLLL : "YYYY年MMMD日ddddLT",

l : "YYYY年MMMD日",

ll : "YYYY年MMMD日",

lll : "YYYY年MMMD日LT",

llll : "YYYY年MMMD日ddddLT"

},

meridiem : function (hour, minute, isLower) {

if (hour < 9) {

return "早上";

} else if (hour < 11 && minute < 30) {

return "上午";

} else if (hour < 13 && minute < 30) {

return "中午";

} else if (hour < 18) {

return "下午";

} else {

return "晚上";

}

},

calendar : {

sameDay : ‘[今天]LT‘,

nextDay : ‘[明天]LT‘,

nextWeek : ‘[下]ddddLT‘,

lastDay : ‘[昨天]LT‘,

lastWeek : ‘[上]ddddLT‘,

sameElse : ‘L‘

},

relativeTime : {

future : "%s内",

past : "%s前",

s : "几秒",

m : "1分钟",

mm : "%d分钟",

h : "1小时",

hh : "%d小时",

d : "1天",

dd : "%d天",

M : "1个月",

MM : "%d个月",

y : "1年",

yy : "%d年"

}

});

6       重写扩展

moment.months monthsShort weekdays weekdaysShort weekdaysMin longDateFormat relativeTime 扩展自定义

7       其他

零碎的api

clone                    复制

isValid                  验证合法

daysInMonth     每月天数

isDST                   是否休息日

isLeapYear            闰年

官方文档:http://momentjs.com/docs

源码下载:https://github.com/timrwood/moment/

时间: 2024-08-06 07:50:23

moment.js 日期包装类 (说明示例)的相关文章

161226、js日期格式化

JavaScript Date format(js日期格式化) 方法一:// 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09

js日期插件

推荐一款贤心写的js日期插件,调用非常方便:顺手写了一个demo. 先列举下这款插件的优点:日期范围限制.开始日期设定.自定义日期格式.时间戳转换.当天的前后若干天返回.时分秒选择.智能响应.自动纠错.节日识别.快捷键操作.更换皮肤等. 当然还有很重要的一点是使用简单: 代码如下: <!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <title>data_

javascript Date format(js日期格式化)

方法一:这个很不错,好像是 csdn 的 Meizz 写的: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.4

js日期格式简单转换代码

js日期格式简单转换代码: 未经修饰的东西总是狂野粗糙的,比如人没有经过良好的教育,这人可能会有各种问题,同样js中的时间格式也是如此,所以要对时间进行一定的格式化操作,下面是一段非常简单的代码实例和大家分享一下. 代码如下: function dateStr(x,y) { var z={ y:x.getFullYear(), M:x.getMonth()+1, d:x.getDate(), h:x.getHours(), m:x.getMinutes(), s:x.getSeconds() }

js日期和时间戳互换

<script> function js_strto_time(str_time){ var new_str = str_time.replace(/:/g,'-'); new_str = new_str.replace(/ /g,'-'); var arr = new_str.split("-"); var datum = new Date(Date.UTC(arr[0],arr[1]-1,arr[2],arr[3]-8,arr[4],arr[5])); return s

js日期处理类(网上收集)

/*** 日期处理工具类*/ var DateUtil = function(){ /**     * 判断闰年     * @param date Date日期对象     * @return boolean true 或false     */    this.isLeapYear = function(date){        return (0==date.getYear()%4&&((date.getYear()%100!=0)||(date.getYear()%400==0)

js 日期格式化函数(可自定义)

js 日期格式化函数 DateFormat var DateFormat = function (datetime, formatStr) { var dat = datetime; var str = formatStr; var Week = ['日', '一', '二', '三', '四', '五', '六']; str = str.replace(/yyyy|YYYY/, dat.getFullYear()); str = str.replace(/yy|YY/, (dat.getYea

转:JS日期加减,日期运算

原文 出处http://hi.baidu.com/tonlywang/item/685fba8933a2a756e73d1950 一.日期减去天数等于第二个日期 function cc(dd,dadd) ...{ //可以加上错误处理 var a = new Date(dd) a = a.valueOf() a = a - dadd * 24 * 60 * 60 * 1000 a = new Date(a) alert(a.getFullYear() + "年" + (a.getMon

layDate1.0正式发布,您一直在寻找的的js日期控件

你是时候换一款日期控件了,而layDate非常愿意和您成为工作伙伴.她正致力于成为全球最高大上的web日期支撑,为国内外所有从事web应用开发的同仁提供力所能及的动力.她基于原生JavaScript精心雕琢,兼容了包括IE6在内的所有主流浏览器.她具备优雅的内部代码,良好的性能体验,和完善的皮肤体系,并且完全开源,你可以任意获取开发版源代码,一扫某些传统日期控件的封闭与狭隘.layDate延续了layui一贯的简单与易用,本着资源共享的开发者精神和对网页日历交互的无穷追求,她将长年被维护和更新,