实现轻量级时间解释器，不再依赖 dateutil