derutctime.java

来自「《移动Agent技术》一书的所有章节源代码。」· Java 代码 · 共 80 行

JAVA
80
字号
package org.bouncycastle.asn1;import java.io.*;import java.util.*;import java.io.*;/** * UTC time object. */public class DERUTCTime    extends DERObject{    String      time;    /**     * The correct format for this is YYMMDDHHMMSSZ (it used to be that seconds were     * never encoded. When you're creating one of these objects from scratch, that's     * what you want to use, otherwise we'll try to deal with whatever gets read from     * the input stream... (this is why the input format is different from the getTime()     * method output).     * <p>     * You can generate a Java date string in the right format by using:     * <pre>     *      dateF = new SimpleDateFormat("yyMMddHHmmss");     *      tz = new SimpleTimeZone(0, "Z");     *          *      dateF.setTimeZone(tz);     *     *      utcTime = new DERUTCTime(dateF.format(new Date()) + "Z");     * </pre>     *     * @param time the time string.     */    public DERUTCTime(        String  time)    {        this.time = time;    }    /**     * return the time - always in the form of      *  YYMMDDhhmmssGMT(+hh:mm|-hh:mm).     * <p>     * Normally in a certificate we would expect "Z" rather than "GMT",     * however adding the "GMT" means we can just use:     * <pre>     *     dateF = new SimpleDateFormat("yyMMddHHmmssz");     * </pre>     * To read in the time and get a date which is compatible with our local     * time zone.     */    public String getTime()    {        //        // standardise the format.        //        if (time.length() == 11)        {            return time.substring(0, 10) + "00GMT+00:00";        }        else if (time.length() == 13)        {            return time.substring(0, 12) + "GMT+00:00";        }        else if (time.length() == 17)        {            return time.substring(0, 12) + "GMT" + time.substring(12, 15) + ":" + time.substring(15, 17);        }        return time;    }    void encode(        DEROutputStream  out)        throws IOException    {        out.writeEncoded(UTC_TIME, time.getBytes());    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?