life's a struggle.
2015-10-20
2015-10-20
要点
mysql中有
DATE, TIME, DATETIME, TIMESTAMP, YEAR
5种时间类型时间类型的零值
0000-00-00 00:00:00
mysql输出时间值时,默认为标准格式
2006-01-02 15:04:05
mysql读入时间值时(赋值, 比较等操作),会尝试转换各种值如
整数20151020
,"2015-10-20"
等(详见)
常用函数
格式化时间值
select date_format('2015-10-20 16:00:04', "%Y%m");
参考
2015-10-19
2015-10-19
2015-10-19
要点
在不指定
Content-Length
的情况下,来传输数据,常用来配合gzip
使用,边压缩边传输用一系列分块来传输。每个分块包含十六进制的长度值和数据,长度值独占一行,长度不包括它结尾的 CRLF(\r\n),
也不包括分块数据结尾的 CRLF。最后一个分块长度值必须为 0,对应的分块数据没有内容,表示实体结束
参考
2015-10-19
需求
有的时候prepare update
只需要部分更新,其他字段保留原来的值,例如update set A=?, B=?
,这里只更新A,但是prepare
语句执行的时候,
必须需要带2个参数.
实现方式
update set A=COALESCE(?, A), B=COALESCE(?, B)
prepare(NULL, 1) => 则只更新B
prepare(1, NULL) => 则只更新A
参考
2015-10-19
2015-10-16
包内特征
3种IO函数
输出
Print
用默认格式打印值,中间用空格分隔Println
追加换行Printf
自定义格式化
输入
IO源
默认
stdin
,stdout
S
族(fmt.Sprint
,fmt.Sprintln
,fmt.Sprintf
),string
F
族(fmt.Fprint
,fmt.Fprintln
,fmt.Fprintf
),io.Writer
格式化控制
%v 默认格式
%+v 打印结构体字段名
%T 类型
%q 转换为字符串字面值,将非打印字符转义(
\xXX
)%q 转换为字符串字面值,将非打印字符转义(
\xXX
),将utf-8
编码的字符转换为\uXXYY
参考
2015-10-15
要点
go采用一种独特地时间格式化格式,与传统的C风格不同
格式化标志中带有前导0时(比如月,日,分等),输出也会带有前导0
格式化
年
2006
4位数06
年(2位数)
月
01
日
02
15
:24h制时,03
:12h制时分
04
秒
05
周几
Mon
,Monday
参考
2015-10-15
20060102150405(
golang style
)date +"%Y%m%d%H%M%S"
epoch time
=>ASCII timedate -d @1234567890
设置时间
date --set='2016-10-28 14:14:01'
相对时间
减去1天
date –date=’-1 day’
加上1天
date –date=’1 day’