这里会扩展一些JS常用时间处理方法,内置时间对象的方法不再赘述 —— 传送门:http://www.w3school.com.cn/js/jsref_obj_date.asp

时间格式化 -- 转换为:yyyy-MM-dd hh:mm:ss格式

// 说明:JS时间Date格式化参数
// 参数:格式化字符串如:'yyyy-MM-dd hh:mm:ss'
// 结果:如2016-06-01 10:09:00
Date.prototype.format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), // 季度
"S": this.getMilliseconds() // 毫秒
}; // 根据y的长度来截取年
if (/(y+)/.test(fmt)){
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o){
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
}
return fmt;
}
// 用法:
var time1 = new Date().format("yyyy-MM-dd");
var time2 = new Date(1469281964000).format("yyyy-MM-dd hh:mm:ss");
console.log(time1);
console.log(time2);

某一天所在星期范围

// 参数:‘2019-03-05’ || 时间对象
// 结果:‘2019-03-04 至 2019-03-10’
function getWeekRange(date) {
if(!date) return var now = new Date(date);
var nowDayOfWeek = now.getDay(); // 星期日—>六(0->6)
var nowDay = now.getDate();
var nowMonth = now.getMonth();
var nowYear = now.getYear(); // 2019年是119
nowYear += (nowYear < 2000) ? 1900 : 0;
var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek+1); // 这周的周五
var weekEndDate = new Date(nowYear, nowMonth, nowDay + (7 - nowDayOfWeek)); // 7- 这周的周日 && 用5- 得到这的周五
return weekStartDate.format('yyyy-MM-dd') + " 至 " + weekEndDate.format('yyyy-MM-dd');
}
// 用法:
getWeekRange(‘2019-03-05’) // ‘2019-03-04 至 2019-03-10’

获取当月第一天

//获取当月第一天
function getFirstDayOfMonth () {
var date = new Date();
date.setDate(1);
return date.format('yyyy-MM-dd');
}

获取当月最后一天

function getFirstDayOfMonth () {
var date = new Date();
var month = date.getMonth();
date.setMonth(month+1);
date.setDate(0);
return date.format('yyyy-MM-dd');
}

获取这个季度的第一天

function getFirstDayOfSeason () {
var date = new Date();
var month = date.getMonth();
if(month <3 ){
date.setMonth(0);
}else if(2 < month && month < 6){
date.setMonth(3);
}else if(5 < month && month < 9){
date.setMonth(6);
}else if(8 < month && month < 11){
date.setMonth(9);
}
date.setDate(1);
return date.format('yyyy-MM-dd');;
}

获取当年的第一天

function getFirstDayOfYear () {
var date = new Date();
date.setDate(1);
date.setMonth(0);
return date.format('yyyy-MM-dd');;
}

获取当前日期为一年中的第几天

Math.ceil(( new Date() - new Date(new Date().getFullYear().toString()))/(24*60*60*1000))+1;

获取今天还剩多少天

function restDayOfYear() {
var fullyear = new Date().getFullYear();
var nextyear = fullyear + 1;
var lastday = new Date(new Date(nextyear,0,1) - 1); //本年的最后一毫秒:
var now = new Date();
var diff = lastday - now; //毫秒数 return Math.ceil(diff / (1000 * 60 * 60 * 24));
}

获取今天星期几中文

getWeekZh(value) {
var dateArray = value.split("-");
var zhWeek = "星期" + "日一二三四五六".charAt(new Date(dateArray[0], parseInt(dateArray[1] - 1), dateArray[2]).getDay());
return zhWeek
}

未完待续...

JS常用时间处理方法的更多相关文章

  1. js格式化时间的方法

    方法一:用js格式化时间的方法. Date.prototype.format =function(format) { var o = { "M+" : this.getMonth( ...

  2. JS常用字符串处理方法应用总结

    这篇文章主要总结了JS常用字符串的处理方法,需要的朋友可以参考下   1.indexOf()方法,从前往后查找字符串位置,大小写敏感,从0开始计数.同理,lastIndexOf() 方法从后往前,两个 ...

  3. Python time datetime常用时间处理方法

    常用时间转换及处理函数: import datetime # 获取当前时间 d1 = datetime.datetime.now() print d1 # 当前时间加上半小时 d2 = d1 + da ...

  4. js常用几种类方法实现

    js定义类方法的常用几种定义 1 定义方法,方法中包含实现 function createCORSRequest() { var xhr = new XMLHttpRequest(); xhr.onl ...

  5. JavaScript基础 -- js常用内置方法和对象

    JS中常用的内置函数如下: 1.eval(str):计算表达式的结果. 2.parseInt(str,n):将符串转换成整数数字形式(可指定几进制). 3.parseFloat(str):将字符串转换 ...

  6. JS常用函数与方法

    //当页面关闭时触发 window.onbeforeunload = function() { alert('关闭了吧'); } //关闭窗口(弹出式窗口) parent.window.close() ...

  7. js常用字符串处理方法

    JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a ...

  8. js常用的数组方法

    1.创建数组的基本方法:  1.1 空数组  var obj=new Array();                 1.2 指定长度数组  var obj=new Array(size);     ...

  9. moment.js常用时间示例,时间管理

    '今天': moment() '昨天': moment().subtract(1, 'days') '过去7天':moment().subtract(7, 'days'),moment() '上月': ...

随机推荐

  1. Linux中连接mysql执行sql文件

    数据量小的时候可以把sql语句内容粘贴执行,但是文件很大的时候,这样执行效率很慢很慢,需要使用source执行sql文件 1.客户端连接mysql数据库 [root@iZbp1bb2egi7w0uey ...

  2. struts1.x和struts2.x之间的一些区别

    转载自http://blog.csdn.net/john2522/article/details/7436307/ struts2不是struts1的升级,而是继承的webwork的血统,它吸收了st ...

  3. Mycat SqlServer 技术栈 实现 主从分离

    先说明下版本:SqlServer2008R2 + MyCat 1.6 现在主从分离 一主一从 用的是 代码 写死的方式  转换下思路 一主两从 或者多从 怎么实现 负载均衡 或者 按权重调用相应库呢 ...

  4. 【OCP-12c】2019年CUUG OCP 071考试题库(80题)

    80.View the exhibit and examine the structure in ORDERS and ORDER_ITEMS tables. You need to create a ...

  5. 常用类(日期时间格式转换,date,枚举)

    1 常用类 1.1 日期时间类 计算机如何表示时间? 时间戳(timestamp):距离特定时间的时间间隔. 计算机时间戳是指距离历元(1970-01-01 00:00:00:000)的时间间隔(ms ...

  6. [Scala随用随学] —— sealed声明的作用

    今天在看MLlib的源码时,看到Vector的声明是sealed trait,很好奇这个sealed有什么作用,与是搜到了这个文章: http://www.cnblogs.com/rollenholt ...

  7. 0基础浅谈反射型xss (1)

    0X1:在学习xss之前,先快速学习相关的HTML代码 1.  <input>标签 文本域用法: <input  type="text" /> Type的作 ...

  8. 2018年Android面试题含答案--适合中高级(上)

    这些面试题是我在今年年初换工作的时候整理,没有重点.包括java基础,数据结构,网络,Android相关等等.适合中高级工程师.由于内容过多,将会分为上下两部分.下部分跳转链接:http://www. ...

  9. Service由浅到深——AIDL的使用方式

    前言 最近有很多朋友问我这个AIDL怎么用,也许由于是工作性质的原因,很多人都没有使用过aidl,所以和他们讲解完以后,感觉对方也是半懂不懂的,所以今天我就从浅到深的分析一下这个aidl具体是怎么用的 ...

  10. eclipse的classpath(build path)和classpaht几种设置的方式

    1,默认eclipse有自己的classpath的路径并不是环境变量中配置的classpah. 2,eclipse的classpath每个项目不同,一般是在工作区的当前项目的class下. 2.1,可 ...