时间戳的转换和使用方法

在线工具箱 7个月前 (10-09) 阅读数 168 #网络技术


时间戳(timestamp)是一种表示时间的方式,也就是将标准时间转化为数值表示的形式。在程序中,常常需要对时间戳进行转换,因此掌握时间戳的基本概念和操作方法非常重要。下面就让我们一起来学习如何进行时间戳的转换和使用。


1. 时间戳的概念


时间戳是指从 1970 年 1 月 1 日 0 时 0 分 0 秒(UTC/GMT 的午夜)开始所经过的秒数。如果是负数,则表示这个时间在 1970 年 1 月 1 日 0 时 0 分 0 秒之前。时间戳主要用于计算机的存储或传输,可以准确地表示一个时间点的信息。


2. 时间戳的转换方法


在 Python 中,我们可以使用 time 模块来进行时间戳的转换和格式化。time 模块提供了许多与时间相关的函数和变量,下面我们介绍几种常用的时间戳转换方法。


2.1 时间戳转换为时间元组


时间元组(struct_time)是一个包含 9 个元素的元组,分别表示年、月、日、时、分、秒、一周的第几日、一年的第几日和夏令时(DST)信息。我们可以使用 time.localtime() 函数将时间戳转换为时间元组。


```python

import time


timestamp = 1623484800

time_tuple = time.localtime(timestamp)

print(time_tuple)

```


输出结果为:


```

time.struct_time(tm_year=2021, tm_mon=6, tm_mday=12, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=163, tm_isdst=0)

```


2.2 时间戳转换为可读时间


我们可以使用 time.strftime() 函数将时间元组转换为指定格式的时间字符串。


```python

import time


timestamp = 1623484800

time_tuple = time.localtime(timestamp)

time_str = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)

print(time_str)

```


输出结果为:


```

2021-06-12 00:00:00

```


2.3 时间元组转换为时间戳


我们可以使用 time.mktime() 函数将时间元组转换为时间戳。


```python

import time


time_tuple = (2021, 6, 12, 0, 0, 0, 5, 163, 0)

timestamp = time.mktime(time_tuple)

print(int(timestamp))

```


输出结果为:


```

1623484800

```


3. 时间戳的使用实例


下面我们来看一个基于时间戳的实例,记录用户的登录时间和退出时间,并计算用户登录时长。


```python

import time


login_time = int(time.time())

# 模拟用户操作

time.sleep(10)

logout_time = int(time.time())


login_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(login_time))

logout_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(logout_time))

delta_time = logout_time - login_time


print("登录时间:", login_str)

print("退出时间:", logout_str)

print("在线时长:", delta_time, "秒")

```


输出结果为:


```

登录时间: 2021-06-16 21:46:07

退出时间: 2021-06-16 21:46:17

在线时长: 10 秒

```


4. 总结


时间戳是计算机表示时间的一种便捷方式,掌握时间戳的使用对程序员来说非常重要。本文介绍了时间戳的基本概念和转换方法,并通过实例演示了时间戳的使用方法。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门