Files
2025-11-18 02:28:47 +08:00

23 lines
654 B
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding: utf-8 -*-
"""通用工具函数"""
import hashlib
from datetime import datetime
from pathlib import Path
def ensure_dir(path: Path):
"""确保目录存在"""
path.mkdir(parents=True, exist_ok=True)
def make_surrogate_key(*parts) -> int:
"""
生成代理键
将多个字段值拼接后计算SHA1取前8字节转为无符号64位整数
"""
raw = "|".join("" if p is None else str(p) for p in parts)
h = hashlib.sha1(raw.encode("utf-8")).digest()[:8]
return int.from_bytes(h, byteorder="big", signed=False)
def now_local(tz) -> datetime:
"""获取本地当前时间"""
return datetime.now(tz)