js中常用的日期处理函数
/** 时间戳转字符串 */
function long2Str(time, format = 'yy-MM-dd HH:mm:ss') {if (!time || time <= 0) {return '';}var date = new Date(time);var year = date.getFullYear(),month = date.getMonth() + 1, //月份是从0开始 , 所以+1day = date.getDate(),hour = date.getHours(),min = date.getMinutes(),sec = date.getSeconds();var preArr = Array.apply(null, Array(10)).map(function (elem, index) {return '0' + index;}); //新建长度为10的数组 格式为 00 01 02 03var dateStr = format.replace(/yy/g, year).replace(/MM/g, preArr[month] || month).replace(/dd/g, preArr[day] || day).replace(/HH/g, preArr[hour] || hour).replace(/mm/g, preArr[min] || min).replace(/ss/g, preArr[sec] || sec);return dateStr;
}/** 日期转字符串 */
function date2Str(date, format = 'yyyy-MM-dd HH:mm:ss') {var o = {"M+": date.getMonth() + 1, //月"d+": date.getDate(), //天"H+": date.getHours(), //时(24小时制)"h+": date.getHours() % 12 == 0 ? date.getHours() : date.getHours() % 12, //时(12小时制)"m+": date.getMinutes(), //分"s+": date.getSeconds(), //秒"q+": Math.floor((date.getMonth() + 3) / 3), //季度"S": date.getMilliseconds() //毫秒}var week = {"0": "日","1": "一","2": "二","3": "三","4": "四","5": "五","6": "六"};if (/(y+)/.test(format)) {format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));}if (/(E+)/.test(format)) {format = format.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "星期" : "周") : "") + week[date.getDay() + ""]);}for (var k in o) {if (new RegExp("(" + k + ")").test(format)) {format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));}}return format;
}/** 日期字符串转时间戳(仅限yyyy-MM-dd hh:mm:ss 形式的字符串) */
function str2Long(dateStr){var date = new Date(Date.parse(date.replace(/-/g, "/")));return date.getTime();
}/** 日期字符串转Date (仅年月日) */
function str2Date(dateStr, separator = '-') {var dateArr = dateStr.split(separator);var year = parseInt(dateArr[0]);var month = dateArr[1].indexOf("0") == 0 ? parseInt(dateArr[1].substring(1)) : parseInt(dateArr[1]); //处理月份为04这样的情况var day = parseInt(dateArr[2]);return new Date(year, month - 1, day);
}/** sDateEnd - sDateStart 相差天数 */
function dateDiff(sDateStart, sDateEnd) { //sDateStart和sDateEnd是yyyy-MM-dd格式return parseInt((str2Date(sDateEnd) - str2Date(sDateStart)) / 86400000); //把相差的毫秒数转换为天数
}/** 判断是否是闰年 */
function isLeapYear(date) {var year = date.getYear();return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
}/*** @title 取得日期数据信息* @param interval 表示数据类型 y:年 M:月 d:日 E:星期 h:时 m:分 s:秒*/
function getPart(date, interval) {var partStr = '';var Week = ['日', '一', '二', '三', '四', '五', '六'];switch (interval) {case 'y':partStr = date.getFullYear();break;case 'M':partStr = date.getMonth() + 1;break;case 'd':partStr = date.getDate();break;case 'E':partStr = Week[date.getDay()];break;case 'h':partStr = date.getHours();break;case 'm':partStr = myDate.getMinutes();break;case 's':partStr = date.getSeconds();break;}return partStr;
}
js中常用的日期处理函数相关推荐
- js中常用的日期总结
js开发中经常用到日期,这里总结一下: /** * 获取当前日期 * 格式:2017-07-31 13:45:14 */ function getNowFormatDate() { var date ...
- JS中常用正则转换和信息验证的封装(80个)
JS中常用正则转换和信息验证的封装(80个) 邮箱 手机号码 电话号码 是否url地址 是否字符串 是否数字 是否boolean 是否函数 是否为null 是否undefined 是否对象 是否数组 ...
- js中常用的数组和字符串方法
一:js中常用的数组方法 <script>//函数声明式中的方法const arr=[1,3,6,9,15,19,16];//函数的所有方法 map(),reduce(),filter() ...
- js中时间戳与日期格式的相互转换
下面总结一下js中时间戳与日期格式的相互转换: 1. 将时间戳转换成日期格式: 1 2 3 4 5 6 7 8 9 10 11 12 function timestampToTime(timestam ...
- 总结JS中常用的数组的方法大全
总结JS中常用的数组方法 JS中常用的数组方法总结 数组(Array)是一种复杂的数据类型,它属于Object(对象)类型,用来将一组数组合在一起,通过一个变量就可以访问一组数据.在使用数组时,经常会 ...
- js中常用的对象—String的属性和方法
今天说一下,js中常用的内置对象--String对象 它有以下几个常用的属性: length prototype 有以下几个常用的方法: parseInt()转换为数字 parseFloat()转换为 ...
- Python中常用的高阶函数
Python 中常用的高阶函数 ① filter(function,iterable)filter(function, iterable)filter(function,iterable) 过滤器 ...
- 【温故知新】——原生js中常用的四种循环方式
一.引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0 网页输出"欢迎下次光临" 在网页中弹出框输入1 网页输 ...
- JS中常用的事件操作
JS中常用的事件操作 前言 一.点击事件(导航栏内容切换功能) 二.移入移出事件(导航栏菜单下拉功能) 三.失去焦点事件(表单检验功能) 四.鼠标事件(鼠标跟随功能) 五.键盘事件(打飞机案例) 总结 ...
最新文章
- SOR迭代求解线性方程组代码实现
- Javabean学习纪要
- python自动化测试视频百度云-Python接口自动化测试 PDF 超清版
- Yii框架中使用SRBAC作为权限管理模块时遇到的问题
- 2018-2019-1 20189210 《LInux内核原理与分析》第六周作业
- OpenCV 图像清晰度评价算法(相机自动对焦)
- vue --- 使用vue在html上显示当前时间
- uC/OS 的任务调度解析
- Elasticsearch高级查询2:ES 高级查询
- 科技战疫丨SENSORO灵思智能安全服务助力疫情防控
- 如何解决Greenplum pg_dump备份时的分布策略缺失等问题
- jrtplib java,jrtplib 分包处理
- 20款知名PHP集成环境推荐与优缺点分析、php环境大全推荐(PHP环境搭建包)
- Linux-4.x_x _64 内核配置选项简介
- 如何判断 Oracle RAC 中的 Master 主节点
- 计算机专业软件工程的二本大学有哪些,全国软件工程专业大学排名 一本二本大学名单...
- 用c语言表达圣诞节快乐的英文,双语:Merry Christmas 圣诞节快乐用英语怎么说
- 银河麒麟V10(Kylin Linux Advanced Server V10 (Tercel))安装Python3.8、MySQL5.7、Redis
- 这些痛,只有程序员懂…
- hdu2017青岛网络赛Pythagoras(Tree of primitive Pythagorean triples)
热门文章
- Echarts双纵轴分隔线合并解决方案
- HTTP CSP详解
- PyTorch入门(二)--实现简单神经网络
- SAMSUNG的CMOS 图像传感器技术发展路线
- 面试题 01.01. 判定字符是否唯一
- 存入json文件_学成在线第8-2天讲义-课程图片管理 分布式文件系统 上传图片开发...
- 计算机专业是理科吗,计算机类和普通理科有什么区别?
- tableau两个不同的图合并_举个栗子!Tableau技巧(59):学做两个集合的维恩图(文氏图)Venn diagram...
- 【加密算法】Base64
- python基础27 -----python进程终结篇-----IO模型