python 转汉语时间口语化

# 中文数字映射
digit_map = {
    '0': '零', '1': '一', '2': '二', '3': '三', '4': '四',
    '5': '五', '6': '六', '7': '七', '8': '八', '9': '九'
}


def convert_hour(num):
    if num < 10:
        return '两' if num == 2 else digit_map[str(num)]
    elif num < 20:
        return '十' + (digit_map[str(num % 10)] if num % 10 != 0 else '')
    else:
        tens = num // 10
        ones = num % 10
        return digit_map[str(tens)] + '十' + (digit_map[str(ones)] if ones != 0 else '')


def convert_minute(num):
    if num < 10:
        return '零' + digit_map[str(num)]
    elif num < 20:
        return '十' + (digit_map[str(num % 10)] if num % 10 != 0 else '')
    else:
        tens = num // 10
        ones = num % 10
        return digit_map[str(tens)] + '十' + (digit_map[str(ones)] if ones != 0 else '')


def get_chinese_time(hour, minute):
    # 转成 12 小时制
    hour = hour % 12
    if hour == 0:
        hour = 12
    hour_cn = convert_hour(hour)
    minute_cn = convert_minute(minute)
    return f"{hour_cn}点{minute_cn}分"

print(get_chinese_time(hour, minute))

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子杣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值