各种语言的时间戳处理

SQL

1
2
3
4
5
6
7
8
9
10
11
// 时间戳 => 时间字符串
SELECT FROM_UNIXTIME(1156219870);

// 时间字符串 => 时间戳
SELECT UNIX_TIMESTAMP('2006-11-04 12:23:00');

// 当前时间字符串
SELECT NOW();

// 当前时间戳
SELECT FROM_UNIXTIME(NOW());

JS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Date 初始化支持的 7 种参数
new Date("month dd,yyyy hh:mm:ss");
new Date("month dd,yyyy");

new Date("yyyy/MM/dd hh:mm:ss");
new Date("yyyy/MM/dd");

new Date(yyyy,mth,dd,hh,mm,ss); // 月份 0~11
new Date(yyyy,mth,dd);

new Date(ms);

// Date 对象 => 13 位毫秒时间戳
const time1 = date.getTime();
const = date.valueOf();
const = Date.parse(date); // ms 时间戳, 精确到 s, 末尾 3 位毫秒数字为 0.

// 13 位毫秒时间戳 => Date 对象
const date = new Date(时间戳);

// 字符串 => Date 对象
const date = new Date(字符串);

Golang

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// 时间对象
now := time.Now()
date := time.Date(年, 月, 日, 时, 分, 秒, 纳秒, time.Local)

// 获取年月日时分秒, Year Month Day Hour Minute Second Nanosecond
now.Year()

// 时间戳
unix := now.Unix() // 1491888244
nano := now.UnixNano() // 1491888244 752784461

// 时间字符串
tmstr := now.Format("2006-01-02 15:04:05")

// 时间戳 int64 => 字符串 string
str := time.Unix(timestamp,0).Format("2006-01-02 15:04:05")

// 字符串 string => Time 对象
formatTime, err := time.Parse("2006-01-02 15:04:05", str)
if err == nil {
fmt.Println(formatTime)
}

// Time 对象 => 时间戳 int64
unix := formatTime.Unix()

PHP

1
2
3
4
5
// 时间戳 => 时间字符串
$str = date('Y-m-d H:i:s', $int);

// 时间字符串 => 时间戳
$int = strtotime($str);

SHELL

1
2
3
4
5
6
7
# 获取当前时间戳
time=$(date "+%Y-%m-%d %H:%M:%S")
# Y显示4位年份, y显示2位年份, m表示月份;M表示分钟, d表示天, 而D则表示当前日期, H表示小时, h显示月份. S显示当前秒, s显示当前毫秒

# 时间推移
time=$(date "+%Y-%m-%d %H:%M:%S" -d '-1 day') # 1 天前
time=$(date "+%Y-%m-%d %H:%M:%S" -d '-1 month') # 1 月前
Donate - Support to make this site better.
捐助 - 支持我让我做得更好.