⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iso8601sqltimestampconverter.java

📁 xstream是一个把java object序列化成xml文件的开源库,轻便好用
💻 JAVA
字号:
package com.thoughtworks.xstream.converters.extended;import java.sql.Timestamp;import java.util.Date;/** * A SqlTimestampConverter conforming to the ISO8601 standard. * http://www.iso.ch/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=26780 *  * @author Jörg Schaible * @since 1.2 */public class ISO8601SqlTimestampConverter extends ISO8601DateConverter {    final static String PADDING = "000000000";    public boolean canConvert(Class type) {        return type.equals(Timestamp.class);    }    protected Object fromString(String str) {        final int idxFraction = str.lastIndexOf('.');        int nanos = 0;        if (idxFraction > 0) {            int idx;            for (idx = idxFraction + 1; Character.isDigit(str.charAt(idx)); ++idx)                ;            nanos = Integer.parseInt(str.substring(idxFraction + 1, idx));            str = str.substring(0, idxFraction) + str.substring(idx);        }        final Date date = (Date)super.fromString(str);        final Timestamp timestamp = new Timestamp(date.getTime());        timestamp.setNanos(nanos);        return timestamp;    }    protected String toString(Object obj) {        final Timestamp timestamp = (Timestamp)obj;        String str = super.toString(new Date((timestamp.getTime() / 1000) * 1000));        final String nanos = String.valueOf(timestamp.getNanos());        final int idxFraction = str.lastIndexOf('.');        str = str.substring(0, idxFraction + 1)                + PADDING.substring(nanos.length())                + nanos                + str.substring(idxFraction + 4);        return str;    }}

⌨️ 快捷键说明

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