『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 583|回复: 2

[技术探讨] 用春节期间最火的deep seek生成了中国时辰的代码

[复制链接]

1

主题

14

帖子

224

积分

中级会员

Rank: 3Rank: 3

积分
224
金钱
210
HASS币
0
发表于 6 天前 | 显示全部楼层 |阅读模式
本帖最后由 pronet 于 2025-2-3 21:22 编辑

地支时辰对照:
子时 (23:00-00:59)   午时 (11:00-12:59)
丑时 (01:00-02:59)   未时 (13:00-14:59)
寅时 (03:00-04:59)   申时 (15:00-16:59)
卯时 (05:00-06:59)   酉时 (17:00-18:59)
辰时 (07:00-08:59)   戌时 (19:00-20:59)
巳时 (09:00-10:59)   亥时 (21:00-22:59)

刻数对照:
初一刻 = 00:00-14:59 (单数小时)
正刻 = 15:00-29:59 (双数小时)
初二刻 = 15:00-29:59 (单数小时)
正二刻 = 30:00-44:59 (双数小时)
初三刻 = 30:00-44:59 (单数小时)
正三刻 = 45:00-59:59 (双数小时)
初四刻 = 45:00-59:59 (单数小时)
正四刻 = 00:00-14:59 (双数小时)

  • sensor:
    <i>  - platform: template</i>
    <i>    sensors:</i>
    <i>      traditional_chinese_time:</i>
    <i>        friendly_name: "中国时辰"</i>
    <i>        value_template: >-</i>
    <i>          {% set earthly_branches = ['子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'] %}</i>
    <i>          {% set quarter_marks = ['一','二','三','四'] %}</i>
    
    <i>          {# 获取当前时间 #}</i>
    <i>          {% set h = now().hour %}</i>
    <i>          {% set m = now().minute %}</i>
    
    <i>          {# 计算时辰索引 (修正后的公式) #}</i>
    <i>          {% set zodiac_index = (h // 2) % 12 %}</i>
    
    <i>          {# 计算刻数 (每时辰4刻,每刻15分钟) #}</i>
    <i>          {% set quarter_index = (m // 15) %}</i>
    <i>          {% set time_description = '正' if h % 2 == 0 else '初' %}</i>
    
    <i>          {# 组合结果 #}</i>
    <i>          {{ earthly_branches[zodiac_index] }}时{{ time_description }}{{ quarter_marks[quarter_index] }}刻
    <ul type="1" class="litype_1"><li><div align="left"></div></li></ul></i>

    时辰索引计算

    • 原代码 ((h + 1) // 2) % 12 会导致时辰计算错误。例如,h = 1 时结果为 1(丑时),但应为 0(子时)。
    • 修复为 (h // 2) % 12,确保:

      • h = 0-1 ➔ 子时
      • h = 2-3 ➔ 丑时
      • 依此类推。


  • 刻数计算

    • 原代码 quarter_offset = 4 if h % 2 == 0 else 0 会导致刻数超出范围(quarter_marks 只有 4 个元素)。
    • 修复为直接使用 quarter_index = (m // 15),并添加 time_description 区分「初」和「正」。

  • 时间描述

    • 使用 time_description 区分单数小时(初)和双数小时(正):

      • 双数小时:正(如 0, 2, 4, ..., 22)
      • 单数小时:初(如 1, 3, 5, ..., 23)


  • 刻数范围

    • 每时辰分为 4 刻,每刻 15 分钟:

      • m = 0-14 ➔ 一刻
      • m = 15-29 ➔ 二刻
      • m = 30-44 ➔ 三刻
      • m = 45-59 ➔ 四刻


示例输出:[td]
现代时间
传统时辰表示
00:15
子时正二刻
01:30
子时初三刻
14:45
未时正四刻
23:05
亥时初一刻

回复

使用道具 举报

0

主题

49

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
金钱
190
HASS币
0
发表于 6 天前 | 显示全部楼层
怎么用,需要怎么安装
回复

使用道具 举报

1

主题

14

帖子

224

积分

中级会员

Rank: 3Rank: 3

积分
224
金钱
210
HASS币
0
 楼主| 发表于 6 天前 | 显示全部楼层
https://www.deepseek.com/官网直接使用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-2-8 15:01 , Processed in 0.053721 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表