python设置时间戳
时间: 2025-05-28 22:48:34 浏览: 16
### Python 中生成和设置时间戳用于有效期控制
在 Python 中,可以利用 `time` 和 `datetime` 模块来生成和操作时间戳。以下是具体方法:
#### 1. 获取当前的时间戳
可以通过 `time.time()` 函数获取当前的 Unix 时间戳(自 1970 年 1 月 1 日以来的秒数)。此函数返回的是浮点型数值。
```python
import time
current_timestamp = int(time.time()) # 当前时间戳转换为整数
print(f"Current timestamp: {current_timestamp}")
```
#### 2. 设置未来的有效期限
为了定义一个未来的时间作为令牌的有效期,可以在当前时间戳的基础上加上指定的秒数。例如,如果希望 Token 在 10 分钟后过期,则可如下计算:
```python
expiration_time = current_timestamp + 600 # 600 秒等于 10 分钟
print(f"Expiration timestamp: {expiration_time}") # 输出过期时间戳
```
这里需要注意的最大有效期限制为 24 小时[^1]。因此,在实际应用中应确保所设定的时间不超过这一范围;否则,默认会采用 24 小时作为最大值。
#### 3. 判断是否已过期
当需要验证某个特定时刻是否已经超出预设的有效期时,只需比较当前时间戳与存储下来的到期时间戳即可完成判断逻辑实现。
```python
if time.time() > expiration_time:
print("The token has expired.")
else:
print("The token is still valid.")
```
以上代码片段展示了基本的操作流程,包括创建基于当前日期算出来的预计失效时间节点以及检测此刻相对于那个目标节点的状态评估过程。
对于更复杂的场景如 JSON Web Tokens (JWTs),则通常借助专门库如 PyJWT 来简化编码/解码及签发带有时限属性的身份认证字符串的工作流[^2]。
```python
import jwt
import datetime
secret_key = 'your_secret'
payload = {
'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=600),
'iat': datetime.datetime.utcnow(),
'sub': 'example_user_id',
}
encoded_jwt = jwt.encode(payload, secret_key, algorithm='HS256')
decoded_payload = jwt.decode(encoded_jwt, secret_key, algorithms=['HS256'])
print(f"Encoded JWT: {encoded_jwt}")
print(f"Decoded Payload: {decoded_payload}")
```
上述脚本示范了怎样运用 PyJWT 库构建含有明确生存周期界定字段(expires at) 的紧凑序列化表述形式,并对其进行逆向还原解析处理步骤[^2]。
阅读全文
相关推荐

















