时间戳

Mysql学习笔记之常用数据类型

◇◆丶佛笑我妖孽 提交于 2020-04-04 04:53:53
数据类型是定义列中可以存储什么数据以及该数据实际怎么存储的基本规则。Mysql的常用数据类型主要有: 串数据类型 :最常用的数据类型,有两种基本的串类型:分别为定长串和不定长串。定长串结束长度固定的字符,其长度是创建表是指定的,不允许多于指定的字符数据,它们分配的存储空间与指定的一样多,CHAR属于定长串类型。变长串存储长度可变的文本,有些变长数据类型具有最大的定长,而有些则是完全变长的,不管哪种只有指定的数据得到保存(不会添加额外的空格保存),TEXT属于变长串类型。变长数据类型灵活,定长数据类型高效,Mysql处理定长数据类型比变长列快很多,Mysql不允许对变长列(或一个列的可变部分)进行索引,这会极大影响性能。具体类型描述如下表: 数据类型 说明 CHAR 1~255个字符的定长串,它的长度必须在创建时指定,否则MySQL假定为CHAR(1) VARCHAR 可变长度,最多不超过255字节,如在创建时指定VARCHAR(n),则可存储0~n个字符的变长串 TINYTEXT 同TEXT,最大长度为255字节 MEDUIMTEXT 同TEXT,最大长度为16K TEXT 最大长度为64K的变长文本 LONGTEXT 同Text,最大长度为4GB(纯文本,一般不会到4G) ENUM 接受最多64K个串组成的预定义集合的某个串 SET

mybatis 查询时间戳类型(TIMESTAMP) 回显成时间字符串的问题

最后都变了- 提交于 2020-04-04 04:53:11
mybatis在select查询TIMESTAMP类型的时间时,如果resultType="java.util.HashMap",返回的map中时间的类型仍是TIMESTAMP类型, 想要回显成想要的字符串格式,则用时间函数 DATE_FORMAT(datetime,'%Y-%m-%d %H:%i:%s') 此方法适用于连表查询时 想返回想要的时间串类型 <select id="selectByUserGroupId" parameterType="String" resultType="java.util.HashMap"> SELECT u.user_id userId, u.dept_id deptId, u.user_name userName, u.user_acc userAcc, u.user_pwd userPwd, u.user_salt userSalt, u.user_state userState, u.user_company userCompany, u.user_mobile userMobile, u.user_email userEmail, u.user_last_login_time userLastLoginTime, DATE_FORMAT(u.create_time,'%Y-%m-%d %H:%i:%s') createTime, u

Mysql骚操作:优化大分页查询

北慕城南 提交于 2020-04-03 18:40:16
背景 系统结构如上图。经过排查是因为 系统B拉取数据时间太长导致的推送超时。 系统B拉取数据的方法是根据_tiemstamp(数据操作时间)分页查询系统A的接口,即: 1SELECT 字段名2FROM 表名3WHERE _timestamp >= beginTime AND _timestamp <= endTime 4LIMIT n, m; 由于该数据是从其他数据源中导入的,所以_timestamp这个字段值几乎相同,这就导致了在我们的查询范围内存在大约 150万 的数据。一般遇到这种情况,首先想到的就是 是否需要给_timestamp添加索引 ,这张表上是存在_timestamp索引的。那么为什么还会出现这个问题呢?这就要从分页查询本身说起了。 分页查询的性能瓶颈 B+树简述 首先我们要了解InnoDB存储引擎中的B+数索引。这里我简单总结一下: 上图是一颗B+树,通过观察我们可以发现它的一些特点:   1.每个节点中子节点个个数不能少于m/2个,不能大于m个(B+树是一颗m叉树,图中m=3)   2.根节点的节点个数可以超过m/2个,这是一个例外 上述两点特性是为了保证B+树的查询效率。 节点数超过m越多,在总节点数相同的情况下,树的高度h就越小,此时m叉数就会向链表退化(O(logn)->O(n))。   节点数小于m/2越多,在总节点数相同的情况下,树的高度h就越高

Oracle date和timestamp区别

不羁的心 提交于 2020-04-02 15:14:43
<转自> http://blog.csdn.net/huaguoming/article/details/8693679 在今天的工作中,学到了以下几个知识点: 一、date和timestamp 的区别 date类型是Oracle常用的日期型变量,他的时间间隔是秒。两个日期型相减得到是两个时间的间隔,注意单位是“天”。例如:查看一下当前距离伦敦奥运会开幕还有多长时间: select to_date('2012-7-28 03:12:00','yyyy-mm-dd hh24:mi:ss')-sysdate from dual 结果是:92.2472685185185天,然后你根据相应的时间换算你想要的间隔就行!这个结果可能对程序员有用,对于想直接看到结果的人,这个数字还不是很直观,所以,就引出了timestamp类型 timestamp是DATE类型的扩展,可以精确到小数秒( fractional_seconds_precision),可以是 0 to9,缺省是6。两个timestamp相减的话,不能直接的得到天数书,而是得到,多少天,多少小时,多少秒等,例如:同样查看一下当前距离伦敦奥运会开幕还有多长时间: select to_timestamp('2012-7-28 03:12:00','yyyy-mm-dd hh24:mi:ss')-systimestamp from dual

6、模块详解之二 time模块,datetime模块

大城市里の小女人 提交于 2020-04-01 16:02:51
1、time模块 time.time() #返回时间戳 print(time.time()) 1465609581.970584 time.ctime(seconds) #返回指定时间戳的系统日期 print(time.ctime()) Sat Jun 11 09:47:58 2016 #参数:时间戳,默认现在 print (time.ctime(23)) Thu Jan 1 08:00:23 1970    time.gmtime(seconds) #返回struct时间格式,默认格林威治时间 print(time.gmtime()) time.struct_time(tm_year=2016, tm_mon=6, tm_mday=11, tm_hour=1, tm_min=51, tm_sec=18, tm_wday=5, tm_yday=163, tm_isdst=0) #参数:时间戳,默认现在 print(time.gmtime(23)) time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=23, tm_wday=3, tm_yday=1, tm_isdst=0) #单独显示年月日,返回的都是int类型的值 print(time.gmtime().tm_year)

jsp实现将图片与文字同时上传

本秂侑毒 提交于 2020-03-31 13:22:34
jsp实现将图片与文字同时上传 首先,我们要准备两个上传所需要的包 commons-fileuoload-1.3.1.jar commons-io-2.4.jar 记得把包导入项目 这是Java类 FileUpload.java package fileupload; import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Iterator; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons

系统初始化

前提是你 提交于 2020-03-31 13:05:08
RTOS系统的启动 在系统上电时,第一个执行的启动文件是汇编语言编写的复位函数Reset_Handler,复位函数最后会调用C库函数_ _main,__main的主要工作是初始化系统的堆和栈,最后调用C中的main()函数,从而进入C的世界。 目录 1 系统初始化 1.1 空闲任务初始化 1.1.1 空闲任务的作用 1.2 时钟节拍任务 2 CPU初始化 2.1 时间戳 2.1.1 时间戳的实现 2.1.1.1 CPU初始化函数 2.1.1.2 时间戳初始化函数 2.1.1.3 时间戳定时器初始化函数 3 SysTick初始化 由此可见,任务中的延时使用的是软件延时,即还是让CPU空等来达到延时的效果。使用RTOS的优势就是充分发挥CPU的性能,永远不让它闲着。任务如果需要延时,也就不能再让CPU空等来实现延时的效果。 RTOS中的延时叫阻塞延时,即当任务需要延时时,会放弃CPU的使用权,CPU可以去做其他的事情,当任务延时时间到,将重新获得CPU的使用权继续运行,这样就可以充分利用CPU,而不是空等。 4 内存初始化 5 OSStart() 1 系统初始化 系统初始化是根据我们配置宏定义进行的,有一些则是系统必要的初始化,如空闲任务、时钟节拍任务等。 注意: 在系统初始化中,空闲任务的初始化和时钟节拍任务的初始化是必须存在的任务,否则系统无法正常运行。 1.1 空闲任务初始化

时间模块(time与datetime)

回眸只為那壹抹淺笑 提交于 2020-03-30 16:25:42
一、time 时间分为三种格式: 1、时间戳:1970年1月1日00:00:00开始按秒计算的偏移量   作用:用于时间间隔的计算 2、按照某种格式显示的时间:2020-03-30 11:11:11   作用:用于展示时间 3、结构化的时间(struct_time)   作用:用于单独获取时间的某一部分(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时) 1 import time 2 3 print(time.time()) # 时间戳1585551358.6356573 4 5 print(time.strftime('%Y-%m-%d %X')) #格式化时间,2020-03-30 14:58:07 6 print(time.strftime('%Y-%m-%d %H-%M-%S %p'))# 格式化时间,2020-03-30 14-58-07 PM,%p显示上午下午 7 8 res=time.localtime() # 结构化的时间 9 print(res) 10 print(res.tm_year) # 获取时间的某一部分 二、datetime 1 import datetime 2 3 print(datetime.datetime.now()) # 2020-03-30 15:14:25.801331 4 5 时间加减,以上面时间为准 6 print

time模块

自作多情 提交于 2020-03-30 14:04:33
和时间有关系的我们就要用到时间模块。在使用模块之前,应该首先导入这个模块。 #常用方法 1.time.sleep(secs) (线程)推迟指定的时间运行。单位为秒。 2.time.time() 获取当前时间戳 表示时间的三种方式 在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 (2)格式化的时间字符串(Format String): ‘1999-12-06’ python中时间日期格式化符号: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %a 本地简化星期名称 %A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称 %c 本地相应的日期表示和时间表示 %j 年内的一天(001-366) %p 本地A.M.或P.M.的等价符 %U 一年中的星期数(00-53)星期天为星期的开始 %w 星期(0-6

PHP设置会话(Session)超时过期时间实现登录时间限制

大憨熊 提交于 2020-03-30 12:16:53
最近某个PHP项目用到了限制登录时间的功能,比如用户登录系统60分钟后如果没有操作就自动退出,我搜索了网络收集了有以下方法可供参考。 第一种方法即设置php.ini配置文件,设置session.gc_maxlifetime和session.cookie_lifetime节点属性值,当然也可以使用ini_set函数改变当前上下文环境的属性值: ini_set('session.gc_maxlifetime', "3600"); // 秒 ini_set("session.cookie_lifetime","3600"); // 秒 第二种方法即设置Session时间戳,比如下面的办法。 在登录成功时设置时间戳为当前时间推后1小时,$_SESSION['expiretime'] = time() + 3600;。在检查用户登录情况使用如下代码: if(isset($_SESSION['expiretime'])) { if($_SESSION['expiretime'] < time()) { unset($_SESSION['expiretime']); header('Location: logout.php?TIMEOUT'); // 登出 exit(0); } else { $_SESSION['expiretime'] = time() + 3600; // 刷新时间戳 }