/** 时间戳转字符串 */
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中常用的日期处理函数相关推荐

  1. js中常用的日期总结

    js开发中经常用到日期,这里总结一下: /** * 获取当前日期 * 格式:2017-07-31 13:45:14 */ function getNowFormatDate() { var date ...

  2. JS中常用正则转换和信息验证的封装(80个)

    JS中常用正则转换和信息验证的封装(80个) 邮箱 手机号码 电话号码 是否url地址 是否字符串 是否数字 是否boolean 是否函数 是否为null 是否undefined 是否对象 是否数组 ...

  3. js中常用的数组和字符串方法

    一:js中常用的数组方法 <script>//函数声明式中的方法const arr=[1,3,6,9,15,19,16];//函数的所有方法 map(),reduce(),filter() ...

  4. js中时间戳与日期格式的相互转换

    下面总结一下js中时间戳与日期格式的相互转换: 1. 将时间戳转换成日期格式: 1 2 3 4 5 6 7 8 9 10 11 12 function timestampToTime(timestam ...

  5. 总结JS中常用的数组的方法大全

    总结JS中常用的数组方法 JS中常用的数组方法总结 数组(Array)是一种复杂的数据类型,它属于Object(对象)类型,用来将一组数组合在一起,通过一个变量就可以访问一组数据.在使用数组时,经常会 ...

  6. js中常用的对象—String的属性和方法

    今天说一下,js中常用的内置对象--String对象 它有以下几个常用的属性: length prototype 有以下几个常用的方法: parseInt()转换为数字 parseFloat()转换为 ...

  7. Python中常用的高阶函数

    Python 中常用的高阶函数 ① filter(function,iterable)filter(function, iterable)filter(function,iterable)   过滤器 ...

  8. 【温故知新】——原生js中常用的四种循环方式

    一.引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0   网页输出"欢迎下次光临" 在网页中弹出框输入1   网页输 ...

  9. JS中常用的事件操作

    JS中常用的事件操作 前言 一.点击事件(导航栏内容切换功能) 二.移入移出事件(导航栏菜单下拉功能) 三.失去焦点事件(表单检验功能) 四.鼠标事件(鼠标跟随功能) 五.键盘事件(打飞机案例) 总结 ...

最新文章

  1. SOR迭代求解线性方程组代码实现
  2. Javabean学习纪要
  3. python自动化测试视频百度云-Python接口自动化测试 PDF 超清版
  4. Yii框架中使用SRBAC作为权限管理模块时遇到的问题
  5. 2018-2019-1 20189210 《LInux内核原理与分析》第六周作业
  6. OpenCV 图像清晰度评价算法(相机自动对焦)
  7. vue --- 使用vue在html上显示当前时间
  8. uC/OS 的任务调度解析
  9. Elasticsearch高级查询2:ES 高级查询
  10. 科技战疫丨SENSORO灵思智能安全服务助力疫情防控
  11. 如何解决Greenplum pg_dump备份时的分布策略缺失等问题
  12. jrtplib java,jrtplib 分包处理
  13. 20款知名PHP集成环境推荐与优缺点分析、php环境大全推荐(PHP环境搭建包)
  14. Linux-4.x_x _64 内核配置选项简介
  15. 如何判断 Oracle RAC 中的 Master 主节点
  16. 计算机专业软件工程的二本大学有哪些,全国软件工程专业大学排名 一本二本大学名单...
  17. 用c语言表达圣诞节快乐的英文,双语:Merry Christmas 圣诞节快乐用英语怎么说
  18. 银河麒麟V10(Kylin Linux Advanced Server V10 (Tercel))安装Python3.8、MySQL5.7、Redis
  19. 这些痛,只有程序员懂…
  20. hdu2017青岛网络赛Pythagoras(Tree of primitive Pythagorean triples)

热门文章

  1. Echarts双纵轴分隔线合并解决方案
  2. HTTP CSP详解
  3. PyTorch入门(二)--实现简单神经网络
  4. SAMSUNG的CMOS 图像传感器技术发展路线
  5. 面试题 01.01. 判定字符是否唯一
  6. 存入json文件_学成在线第8-2天讲义-课程图片管理 分布式文件系统 上传图片开发...
  7. 计算机专业是理科吗,计算机类和普通理科有什么区别?
  8. tableau两个不同的图合并_举个栗子!Tableau技巧(59):学做两个集合的维恩图(文氏图)Venn diagram...
  9. 【加密算法】Base64
  10. python基础27 -----python进程终结篇-----IO模型