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);
    }
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 时间对象
将一个时间字符串，转换成一个一天中的绝对时间对象