js 时间处理

时间戳转formdate格式 13 || 16 位

1 function timeStampToFormdate(timestamp) { 2 if (!timestamp) { 3 return '' 4 } 5 var date = timestamp.toString().length == "13" ? new Date(timestamp) : new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000 6 var Y = date.getFullYear() + "-"; 7 var M = (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1) + "-"; 8 var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()); 9 var h = date.getHours() < 10 ? "0" + date.getHours() + ":" : date.getHours() + ":"; 10 var m = date.getMinutes() < 10 ? "0" + date.getMinutes() + ':' : date.getMinutes() + ":"; 11 var s = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds(); 12 return Y + M + D + ' ' + h + m + s; 13 } 14 console.log(timeStampToFormdate(new Date().getTime()));

获取距离当前时间多少天前的时间

1 function manyDayBeforeNowDay(days) { 2 if (days * 1) { 3 return timeStampToFormdate(new Date().getTime() - days * 60 * 60 * 24 * 1000) 4 } else { 5 return '' 6 } 7 } 8 console.log(manyDayBeforeNowDay(2));

时间格式化返回年月日时分秒 格式自己拼

1/** 2*如果没有传入时间,就返回当前时间的格式化数据 3*/ 4function dateFormat(date) { 5!date && date=new Date(); 6 if (date) { 7 let newDate = new Date(date); 8 let n = newDate.getFullYear(); 9 let y = (newDate.getMonth() + 1 < 10 ? '0' + (newDate.getMonth() + 1) : newDate.getMonth() + 1); 10 let r = (newDate.getDate() < 10 ? '0' + newDate.getDate() : newDate.getDate()); 11 let s = (newDate.getHours() < 10 ? '0' + newDate.getHours() : newDate.getHours()); 12 let f = (newDate.getMinutes() < 10 ? '0' + newDate.getMinutes() : newDate.getMinutes()); 13 let m = (newDate.getSeconds() < 10 ? '0' + newDate.getSeconds() : newDate.getSeconds()); 14 let format = { 15 n: n, 16 y: y, 17 r: r, 18 s: s, 19 f: f, 20 m: m, 21 } 22 return format 23 } 24}

获取当前星期几

1function getWeekDate() { 2 var now = new Date(); 3 var day = now.getDay(); 4 var weeks = new Array( 5 "星期日", 6 "星期一", 7 "星期二", 8 "星期三", 9 "星期四", 10 "星期五", 11 "星期六" 12 ); 13 var week = weeks[day]; 14 return week; 15}

根据当前年的第几天 获取所在的日期

1/** 2 * @param {Number} year 哪年 3 * @param {Number} day 哪天 4 */ 5function dayToMD(year, day) { 6 if (year && day && day < 367) { 7 var isrunnian = (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; 8 var rules = [31, isrunnian ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; 9 for (var i = 0; i < rules.length; i++) { 10 if (rules[i] >= day) { 11 return (i + 1 < 10 ? ("0" + (i + 1)) : (i + 1)) + '-' + (day < 10 ? ("0" + day) : day); 12 } 13 day -= rules[i]; 14 } 15 } 16}

获取所在周

记录一下 ,计算规则比较怪。产品这么要求,╮(╯▽╰)╭

1/** 2 * 获取当前天所在的周 3 * 规则:按照日历上一行为一周。以当前年第一个周一所在的日期为当前年的起点 4 * 如果当前日期>=起点,计算公式:Math.ceil((当前天数-(起点-1))/7) 5 * 如果当前日期<起点 ,计算公式:Math.ceil((上一年的天数-(上一年起点-1)+当前日期天数)/7) 6 * 返回结果 2020-1 2020年第几周 7 * 头秃 8 */ 9 10function weekFilter() { 11 function yearDays(leapY) { 12 var strleapYis = 13 (leapY % 4 == 0 && leapY % 100 != 0) || leapY % 400 == 0; 14 if (strleapYis) { 15 strleapYis = 366; 16 } else { 17 strleapYis = 365; 18 } 19 return strleapYis; 20 } 21 function getWeekDay(year) { 22 var d = new Date(); 23 d.setFullYear(year, 0); 24 for (var i = 1; i <= 31; i++) { 25 d.setDate(i); 26 if (d.getDay() == 1) break; 27 } 28 d.setFullYear(year, 0, i); 29 // return year + "-" + "01-" + (i >= 10 ? i :( "0" + i)); 30 return i; 31 } 32 let nowDay = Math.ceil( 33 (new Date() - new Date(new Date().getFullYear().toString())) / 34 (24 * 60 * 60 * 1000) 35 ); 36 let nowYear = new Date().getFullYear(); 37 let nowWeek; 38 if (nowDay >= getWeekDay(nowYear)) { 39 nowWeek = Math.ceil((nowDay - (getWeekDay(nowYear) - 1)) / 7); 40 return `${nowYear}-${nowWeek}` 41 } else { 42 nowWeek = Math.ceil( 43 (yearDays(nowYear - 1) - (getWeekDay(nowYear - 1) - 1) + nowDay) / 7 44 ); 45 return `${nowYear - 1}-${nowWeek}` 46 } 47}
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang

Java日期时间API系列31

  时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到。Java中本来已经有相关获取时间戳的方法,Java8后增加新的类Instant等专用于处理时间戳问题。 1获取时间戳的方法和性能对比1.1获取时间戳方法Java8以前