src/org/nutz/lang/Times.java
public static TmInfo Ti(String ts) {
        Matcher m = _p_tm.matcher(ts);

        if (m.find()) {
            TmInfo ti = new TmInfo();
            // 仅仅到分钟
            if (null == m.group(3)) {
                ti.hour = Integer.parseInt(m.group(1));
                ti.minute = Integer.parseInt(m.group(2));
                ti.second = 0;
                ti.millisecond = 0;
            }
            // 到秒
            else if (null == m.group(5)) {
                ti.hour = Integer.parseInt(m.group(1));
                ti.minute = Integer.parseInt(m.group(2));
                ti.second = Integer.parseInt(m.group(4));
                ti.millisecond = 0;
            }
            // 到毫秒
            else {
                ti.hour = Integer.parseInt(m.group(1));
                ti.minute = Integer.parseInt(m.group(2));
                ti.second = Integer.parseInt(m.group(4));
                ti.millisecond = Integer.parseInt(m.group(6));
            }
            // 计算其他的值
            ti.value = ti.hour * 3600 + ti.minute * 60 + ti.second;
            ti.valueInMillisecond = ti.value * 1000 + ti.millisecond;
            // 返回
            return ti;
        }
        throw Lang.makeThrow("Wrong format of time string '%s'", ts);
    }
public static TmInfo Ti(String ts) {
        Matcher m = _p_tm.matcher(ts);

        if (m.find()) {
            TmInfo ti = new TmInfo();
            // 仅仅到分钟
            if (null == m.group(3)) {
                ti.hour = Integer.parseInt(m.group(1));
                ti.minute = Integer.parseInt(m.group(2));
                ti.second = 0;
                ti.millisecond = 0;
            }
            // 到秒
            else if (null == m.group(5)) {
                ti.hour = Integer.parseInt(m.group(1));
                ti.minute = Integer.parseInt(m.group(2));
                ti.second = Integer.parseInt(m.group(4));
                ti.millisecond = 0;
            }
            // 到毫秒
            else {
                ti.hour = Integer.parseInt(m.group(1));
                ti.minute = Integer.parseInt(m.group(2));
                ti.second = Integer.parseInt(m.group(4));
                ti.millisecond = Integer.parseInt(m.group(6));
            }
            // 计算其他的值
            ti.value = ti.hour * 3600 + ti.minute * 60 + ti.second;
            ti.valueInMillisecond = ti.value * 1000 + ti.millisecond;
            // 返回
            return ti;
        }
        throw Lang.makeThrow("Wrong format of time string '%s'", ts);
    }
将一个时间字符串，转换成一个一天中的绝对时间对象

@param ts
时间字符串，符合格式
<ul>
<li>"HH:mm:ss"
<li>"HH:mm"
<li>"HH:mm:ss.SSS"
<li>"HH:mm:ss,SSS"
</ul>
@return 时间对象