From 296dbc555c2a64a1d912c6d60eed48e5d0cd609c Mon Sep 17 00:00:00 2001 From: Kyomotoi <0w0@imki.moe> Date: Wed, 18 Jan 2023 00:40:50 +0800 Subject: =?UTF-8?q?=F0=9F=8E=A8=20=E7=A7=BB=E9=99=A4=E5=AF=B9=20pytz=20?= =?UTF-8?q?=E7=9A=84=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ATRI/utils/__init__.py | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) (limited to 'ATRI/utils') diff --git a/ATRI/utils/__init__.py b/ATRI/utils/__init__.py index 9ce3735..693de6c 100644 --- a/ATRI/utils/__init__.py +++ b/ATRI/utils/__init__.py @@ -1,7 +1,6 @@ import os import re import json -import pytz import string import asyncio import aiofiles @@ -18,38 +17,36 @@ def gen_random_str(k: int) -> str: class TimeDealer: - def __init__(self, timestamp: float): + def __init__(self, timestamp: float, timezone): """对时间进行处理 Args: - timestamp (int): _description_ + timestamp (float): 时间戳 + timezone (_type_): 时区 (datetime.timezone) """ self.timestamp = timestamp + self.timezone = timezone def to_str( - self, tz=pytz.timezone("Asia/Shanghai"), format: str = "%Y-%m-%d %H:%M:%S" + self, format: str = "%Y-%m-%d %H:%M:%S" ) -> str: """将时间戳转换为格式化形式 Args: - tz: 时区. 默认: `pytz.timezone("Asia/Shanghai")`. format: 时间格式. 默认: `"%Y-%m-%d %H:%M:%S"`. Returns: str: 格式化后的时间戳 """ - return datetime.fromtimestamp(self.timestamp, tz).strftime(format) + return datetime.fromtimestamp(self.timestamp, self.timezone).strftime(format) - def to_datetime(self, tz=pytz.timezone("Asia/Shanghai")) -> datetime: + def to_datetime(self) -> datetime: """将时间戳转化成 datetime 类型 - Args: - tz: 时区. 默认: `pytz.timezone("Asia/Shanghai")`. - Returns: datetime: 转换后的 datetime 类型 """ - return datetime.fromtimestamp(self.timestamp, tz) + return datetime.fromtimestamp(self.timestamp, self.timezone) def int_now(self) -> float: """将时间戳转换为一天中整数的时间. @@ -58,7 +55,7 @@ class TimeDealer: Returns: float: 转换后的整数时间 """ - time = datetime.fromtimestamp(self.timestamp) + time = datetime.fromtimestamp(self.timestamp, self.timezone) return time.hour + time.minute / 60 -- cgit v1.2.3