java.lang.Object
org.miaixz.bus.core.center.date.chinese.ShiChen

public class ShiChen extends Object
时辰转换器,支持宋以后的二十四时辰制度。

本转换器提供以下功能:

  • 处理包含“时”、“初”或“正”后缀的时辰描述,并自动返回相应的现代时间段。 “初”和“正”分别对应每个时辰的前半段和后半段,而不带后缀的“时”描述则涵盖该时辰的完整时间段。
  • 根据小时数转换为相应的时辰描述,通过isAbs参数控制是否包含“初”或“正”。

异常情况:

  • 如果输入的时辰描述无效或不被识别,toModernTime 方法将抛出 IllegalArgumentException
  • 同样,如果toShiChen方法接收到无效的小时数,将返回“未知”。
示例:
  • toModernTime("子时") 返回的时间段从23点开始到1点结束。
  • toModernTime("子初") 返回的时间段从23点开始到0点结束。
  • toModernTime("子正") 返回的时间段从0点开始到1点结束。
  • toShiChen(0, false) 返回“子正”。
  • toShiChen(0, true) 返回“子时”。
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Between
    将时辰描述转换为现代时间段。示例: toModernTime("子时") 返回的时间段从23点开始到1点结束。 toModernTime("子初") 返回的时间段从23点开始到0点结束。 toModernTime("子正") 返回的时间段从0点开始到1点结束。
    static String
    toShiChen(int hour, boolean isAbs)
    根据给定的小时数转换为对应的时辰描述。示例: toShiChen(0, false) 返回“子正”。 toShiChen(0, true) 返回“子时”。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ShiChen

      public ShiChen()
  • Method Details

    • toModernTime

      public static Between toModernTime(String shiChen)
      将时辰描述转换为现代时间段。示例:
      • toModernTime("子时") 返回的时间段从23点开始到1点结束。
      • toModernTime("子初") 返回的时间段从23点开始到0点结束。
      • toModernTime("子正") 返回的时间段从0点开始到1点结束。
      Parameters:
      shiChen - 时辰描述,可以是“时”、“初”或“正”结尾。
      Returns:
      Between 对象,表示起始和结束时间。
      Throws:
      IllegalArgumentException - 如果输入的时辰描述无效。
    • toShiChen

      public static String toShiChen(int hour, boolean isAbs)
      根据给定的小时数转换为对应的时辰描述。示例:
      • toShiChen(0, false) 返回“子正”。
      • toShiChen(0, true) 返回“子时”。
      Parameters:
      hour - 小时数,应在0到23之间。
      isAbs - 是否返回绝对时辰描述(即包含“时”后缀),而不是“初”或“正”。
      Returns:
      时辰描述,如果小时数无效,则返回“未知”。