date函数

函数防抖和节流的结合

北慕城南 提交于 2020-03-29 18:03:10
函数节流有个毛病 , 就是最后一次事件执行后 , 如果距离上一次事件执行不到规定时间 , 那么最后一次事件就不会执行 , 解决方法就是把事件函数节流和防抖结合在一起 function throlle(callback,delay){ let startTime=0; let timer=null; return function (){ //使用new Date().getTime(),这样首次操作一定会执行 let endTime=new Date().getTime(); clearTimeout(timer); //第一次减法一定大雨delay,确保首次操作一定会执行 if(endTime-startTime>delay){ callback() startTime=new Date().getTime(); }else{ //这里的目的是让最后一次执行 timer=setTimeout(()=>{ callback() },delay) } } } document.getElementById('box').addEventListener('click',throlle(()=>{ console.log(11); },1000)) 来源: https://www.cnblogs.com/liuXiaoDi/p/12593522.html

JavaScript的特殊日期处理

孤者浪人 提交于 2020-03-28 22:05:59
很久前写的代码了,偶尔看到贴出来做个备忘,写得有点乱,懒得整理了。 // 根据初始日期和滚动周期及滚动次数来计算终止日期,日期滚动周期, // 可以是每天(DAY)、每周(WEEK)、每月(MONTH)、每年(YEAR) // 返回一个日期字符串如'2009-5-9' function getFinalDate(startDate,cycleModel,cycleTime,currDate){ var finalDate=""; if(validateDate(startDate) && validateDate(currDate)){ var str_a = startDate+" "+"00:00"; var tempDate = new Date(str_a.replace(/-/g,"/")); var currDateStr = currDate+" "+"00:00"; var currentDate = new Date(currDateStr.replace(/-/g,"/")); if(currentDate.getTime() != tempDate.getTime()){ cycleTime--; } var paramSdate = startDate.split("-"); var iyear = parseInt(paramSdate[0],10);

MySQL:MySQL日期数据类型、MySQL时间类型使用总结

梦想的初衷 提交于 2020-03-28 07:39:03
MySQL 日期类型:日期格式、所占存储空间、日期范围 比较。 日期类型 存储空间 日期格式 日期范围 ------------ --------- --------------------- ----------------------------------------- datetime 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 timestamp 4 bytes YYYY-MM-DD HH:MM:SS 1970-01-01 00:00:01 ~ 2038 date 3 bytes YYYY-MM-DD 1000-01-01 ~ 9999-12-31 year 1 bytes YYYY 1901 ~ 2155 在 MySQL 中创建表时,对照上面的表格,很容易就能选择到合适自己的数据类型。不过到底是选择 datetime 还是 timestamp,可能会有点犯难。这两个日期时间类型各有优点:datetime 的日期范围比较大;timestamp 所占存储空间比较小,只是 datetime 的一半。 另外,timestamp 类型的列还有个特性:默认情况下,在 insert, update 数据时,timestamp 列会自动以当前时间(CURRENT_TIMESTAMP)填充

java时间操作

白昼怎懂夜的黑 提交于 2020-03-28 01:02:09
这篇讲的也很专业: http://soft.zdnet.com.cn/software_zone/2007/1129/660028.shtml java 中的时间操作不外乎这四种情况: 1 、获取当前时间 2 、获取某个时间的某种格式 3 、设置时间 4 、时间的运算 好,下面就针对这四种情况,一个一个搞定。 一、获取当前时间 有两种方式可以获得,第一种,使用 Date 类。 j2SE 的包里有两个 Date 类,一个是 java.sql.Date, 一个是 java.util.Date 这里,要使用 java.util.Date 。获取当前时间的代码如下 Date date = new Date(); date.getTime() ; 还有一种方式,使用 System.currentTimeMillis() ; 这两种方式获得的结果是一样的,都是得到一个当前的时间的 long 型的时间的毫秒值,这个值实际上是当前时间值与 1970 年一月一号零时零分零秒相差的毫秒数。 当前的时间得到了,但实际的应用中最后往往不是要用这个 long 型的东西,用户希望得到的往往是一个时间的字符串,比如“ 2006 年 6 月 18 号”,或“ 2006-06-18 ”,老外可能希望得到的是“ 06-18-2006 ”,诸如此类等等。这就是下一个要解决的问题 二、获取某个时间的某种格式

JS精美日历时间控件

不羁的心 提交于 2020-03-27 20:52:28
1、完整日历时间控件 <script> var bMoveable=true; var strFrame; document.writeln('<iframe id=endDateLayer frameborder=0 width=162 height=211 style="position: absolute; z-index: 9998; display: none"></iframe>'); strFrame='<style>'; strFrame+='INPUT.button{BORDER-RIGHT: #63A3E9 1px solid;BORDER-TOP: #63A3E9 1px solid;BORDER-LEFT: #63A3E9 1px solid;'; strFrame+='BORDER-BOTTOM: #63A3E9 1px solid;BACKGROUND-COLOR: #63A3E9;font-family:宋体;}'; strFrame+='TD{FONT-SIZE: 9pt;font-family:宋体;}'; strFrame+='</style>'; strFrame+='<scr' + 'ipt>'; strFrame+='var datelayerx,datelayery;'; strFrame+='var bDrag;'; strFrame+

关于date()

♀尐吖头ヾ 提交于 2020-03-27 14:57:44
时间的三个概念: 时区 全球分为24个时区,中国采用北京所在地东八区的时间作为全国统一使用的时间 世界时 以格林尼治(英国某地区)的地方时间为准,英文简称 GMT unix 时间戳 从 unix纪元 (1970年1月1日零时)开始到一个时间经过的秒数 默认时区函数 string date_default_timezone_get(void) bool date_default_timezone_set(string $timezone_identifier) //获取当前的 unix 时间戳 time() //将一个时间戳进行格式化输出, $format:Y m d H m s string date(string $format[, int $timestamp]) //获取当前系统的时间数组 array getdate([int $timestamp = time()]) //判断一个输出的日期是否有效,常用与用户提交的表单数据验证 boolean checkdate(month, day, year) //将英文文本的日期时间描述解析为 unix 时间戳 int strtotime(string $time[, int $now = time()]) echo strtotime("+1 week 2 days 4 hours 2 seconds"); //能够返回当前

Laravel attribute casting 导致的 Indirect modification of overloaded property

て烟熏妆下的殇ゞ 提交于 2020-03-27 04:35:09
在 Laravel model 中,设置了某个属性做 array casting. protected $casts = [ 'rounds' => 'array', ]; 但是在 controller 中执行 array_push($record->rounds, date("Y-m-d H:i:s")); 时,报错 production.ERROR: Indirect modification of overloaded property 可见,casting 并不支持一些针对特定类型的操作,例如无法作为指定类型的函数的参数。 按照官方文档的做法,应该是先赋值给一个中间变量,进行操作,然后再赋值回去。 $user = App\User::find(1); $options = $user->options; $options['key'] = 'value'; $user->options = $options; $user->save(); 所以正确的做法应该是 $tmp = $record->rounds; array_push($tmp, date("Y-m-d H:i:s")); $record->rounds = $tmp; $record->save(); collection casting 发现还有 collection casting 的支持,于是尝试了一下。

step by step教你常用JS方法封装(一) [ 大杂烩 ]

…衆ロ難τιáo~ 提交于 2020-03-26 08:48:36
3 月,跳不动了?>>> 本文参考原文- http://bjbsair.com/2020-03-25/tech-info/6338/ 持续更新中... 常用JS方法封装方法预告: 项目常用JS方法封装(二) [ 时间处理 ] 项目常用JS方法封装(三) [ 字符串相关处理 ] 项目常用JS方法封装(四) [ 数组相关处理 ] 使用方法非常简单,只需放到你的 utils.js 工具文件中,直接 export const 加上我的封装方法,在别的文件中使用{方法1,方法2,方法3...}引用后就可以直接使用了! 001.输入一个值,返回其数据类型 type = para => { return Object.prototype.toString.call(para).slice(8,-1) } 复制代码 002.阶乘 factorial = num => { let count = 1; for (let i = 1; i <= num; i++) { count *= i; } return count; } 复制代码 003.两个数之间累乘 multBetride = (x, y) => { let count; if (x < y) { count = x; for (let i = x + 1; i <= y; i++) { count *= i; } return count

mysql日期格式化

纵饮孤独 提交于 2020-03-25 09:00:40
mysql日期格式化 DATE_FORMA T(date, format) 根据格式串format 格式化日期或日期和时间值date,返回结果串。 可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。 根据format字符串格式化date值: %S, %s 两位数字形式的秒( 00,01, . . ., 59) %i 两位数字形式的分( 00,01, . . ., 59) %H 两位数字形式的小时,24 小时(00,01, . . ., 23) %h, %I 两位数字形式的小时,12 小时(01,02, . . ., 12) %k 数字形式的小时,24 小时(0,1, . . ., 23) %l 数字形式的小时,12 小时(1, 2, . . ., 12) %T 24 小时的时间形式(h h : m m : s s) %r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM) %p AM 或P M %W 一周中每一天的名称( S u n d a y, Monday, . . ., Saturday) %a 一周中每一天名称的缩写( Sun, Mon, . . ., Sat) %d 两位数字表示月中的天数( 00, 01, . . ., 31) %e 数字形式表示月中的天数( 1, 2, . . ., 31) %D

MySQL时间相关操作

為{幸葍}努か 提交于 2020-03-24 14:06:58
本文主要介绍MySQL使用过程中有关时间处理的相关操作: MySQL时间更新(加上或减去一段时间) MySQL毫秒数和日期之间的转换 一、MySQL时间更新(加上或减去一段时间) 1.1 MySQL时间加减函数 DATE_ADD() 函数向日期添加指定的时间间隔; DATE_SUB() 函数向日期减少指定的时间间隔。 1.2 使用实例 (1) 以当前时间为基准,为日期增加一个时间间隔 select date_add(now(), interval 1 day); //加1天 select date_add(now(), interval 1 hour); //加1小时 select date_add(now(), interval 1 minute); //加1分钟 select date_add(now(), interval 1 second); //加1秒 select date_add(now(), interval 1 microsecond); //加1毫秒 select date_add(now(), interval 1 week);   //加1周 select date_add(now(), interval 1 month);   //加1月 select date_add(now(), interval 1 quarter); //加1季 select