时间戳转换工具

当前时间戳:

1703431491

时间戳转换为普通时间

普通时间转换为时间戳


什么是 Unix 时间戳?

Unix 时间戳(Unix 时间/POSIX 时间)是一种时间表示方式,是指从格林威治时间 1970 年 01 月 01 日 00 时 00 分 00 秒起至现在的总秒数。

不同语言获取当前时间戳的方法

Java

long epoch = System.currentTimeMillis()/1000

Python

import time
int(time.time())

Golang

import (
  "time"
)

int32(time.Now().Unix())

PHP

time()

JavaScript

Math.floor(new Date().getTime() / 1000) // getTime() 返回的是毫秒

C#

epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000

Ruby

Time.now

MySQL

SELECT unix_timestamp(now())

不同语言将时间字符串转为时间戳的方法

Java

long epoch = new java.text.SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse("2022/05/20 07:00:00").getTime() / 1000

Python

import time

str_time = '2022-05-20 07:00:00'
time_tuple = time.strptime(str_time, '%Y-%m-%d %H:%M:%S')  # 先转换为时间元组
t3 = time.mktime(time_tuple)  # 元组转换为时间戳

Golang

package main

import (
	"log"
	"time"
)

func main() {
	t := int64(1653838019)      //外部传入的时间戳(秒为单位),必须为int64类型

	//时间转换的模板,golang里面只能是 "2006-01-02 15:04:05"
	timeTemplate1 := "2006-01-02 15:04:05" //常规类型
	timeTemplate2 := "2006/01/02 15:04:05" //其他类型
	timeTemplate3 := "2006-01-02"          //其他类型
	timeTemplate4 := "15:04:05"            //其他类型

	// ======= 将时间戳格式化为日期字符串 =======
	log.Println(time.Unix(t, 0).Format(timeTemplate1)) //输出:2022-05-29 23:26:59
	log.Println(time.Unix(t, 0).Format(timeTemplate2)) //输出:2022/05/29 23:26:59
	log.Println(time.Unix(t, 0).Format(timeTemplate3)) //输出:2022-05-29
	log.Println(time.Unix(t, 0).Format(timeTemplate4)) //输出:23:26:59
}

PHP

stortotime("2022-05-20 07:00:00")

JavaScript

var date = new Date(时间戳)

C#

DateTime dt;

DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo();

dtFormat.ShortDatePattern = "yyyy/MM/dd";

dt = Convert.ToDateTime("2022/05/20", dtFormat);  // 转换为 DateTime

Ruby

MySQL

SELECT unix_timestamp('2022-05-20 07:00:00');

不同语言将时间戳转为字符串的方法

Java

String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(Unix timestamp * 1000))

Python

import datetime
import time

dt = datetime.fromtimestamp(time.time())
dt.strftime('%Y-%m-%d %H:%M:%S')

Golang

package main

import (
	"log"
	"time"
)

func main() {
	t := "2022-05-29 23:26:59" //外部传入的时间字符串

	timeTemplate := "2006-01-02 15:04:05"

	// ======= 将时间字符串转换为时间戳 =======
	stamp, _ := time.ParseInLocation(timeTemplate, t, time.Local) //使用parseInLocation将字符串格式化返回本地时区时间
	log.Println(stamp.Unix())  //输出:1653838019
}

PHP

date('Y-m-d H:i:s', time())  // 2022-05-20 07:00:00

JavaScript

var date = new Date(时间戳)

C#

DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
long lTime = timeStamp * 10000;
TimeSpan toNow = new TimeSpan(lTime);
DateTime targetDt = dtStart.Add(toNow);

Ruby

MySQL

SELECT FROM_UNIXTIME(时间戳)