java 判断格式

来源:互联网 发布:mac激活步骤 编辑:程序博客网 时间:2024/05/16 19:22
/**
*判断是否是数字
*/
public static boolean isNum(String str){        return str.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$");    }    /**     * 判断是否是时间     * @param str     * @return     */    public static boolean isTime(String str){        return str.matches("^[-+]?(([0-9]+)([:]([0-9]+))?|([:]([0-9]+))?)$");    }    /**     * 将数字格式字符串改为保留两位小数,将时间格式字符串分钟保留两位数     * @param str     * @return     */    public static String stringFormat(String str){        NumberFormat nf = NumberFormat.getNumberInstance();        nf.setMaximumFractionDigits(2);        if (isNum(str)) {            str = nf.format(Double.parseDouble(str));        } else if (isTime(str)) {            String[] rowStr = str.split(":");            if (rowStr.length > 1) {                if (rowStr[1].length()>2) {                    str = rowStr[0] + ":" + rowStr[1].substring(0, 2);                }            }        }        return str;    }
<pre name="code" class="java">//   十六进制字符串转化成字节数组 每两位字符串转成一个字节
<pre name="code" class="java">public static byte[] hexStr2ByteArray(String hexString) {        if (StringUtils.isEmpty(hexString))            throw new IllegalArgumentException("this hexString must not be empty");        hexString = hexString.toLowerCase();        final byte[] byteArray = new byte[hexString.length() / 2];        int k = 0;        for (int i = 0; i < byteArray.length; i++) {            //因为是16进制,最多只会占用4位,转换成字节需要两个16进制的字符,高位在先            //将hex 转换成byte   "&" 操作为了防止负数的自动扩展            // hex转换成byte 其实只占用了4位,然后把高位进行右移四位            // 然后“|”操作  低四位 就能得到 两个 16进制数转换成一个byte.            byte high = (byte) (Character.digit(hexString.charAt(k), 16) & 0xff);            byte low = (byte) (Character.digit(hexString.charAt(k + 1), 16) & 0xff);            byteArray[i] = (byte) (high << 4 | low);            System.out.print(byteArray[i]+":"+hexString.substring(2*i,2*(i+1))+".");            k += 2;        }        return byteArray;    }
/** *时间工具类**/package com.geetion.system.collection.jt808.tool;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class DateUtil {    private static transient final Logger LOGGER = LoggerFactory.getLogger(DateUtil.class);    /**     * 格式:yyyy     */    public static SimpleDateFormat YEARFORMATER() {        return new SimpleDateFormat("yyyy");    }    /**     * 格式:yyyyMM     */    public static SimpleDateFormat MONTHFORMATER() {        return new SimpleDateFormat("yyyyMM");    }    /**     * 格式:yyyy年MM月     */    public static SimpleDateFormat MONTHFORMATERSTR() {        return new SimpleDateFormat("yyyy年MM月");    }    /**     * 格式:yyyyMMdd     */    public static SimpleDateFormat DATEFORMATER() {        return new SimpleDateFormat("yyyyMMdd");    }    /**     * 格式:yyyy年MM月dd日     */    public static SimpleDateFormat DATEFORMATER1() {        return new SimpleDateFormat("yyyy年MM月dd日");    }    /**     * 格式:yyyy-MM-dd     */    public static SimpleDateFormat DATEFORMATER2() {        return new SimpleDateFormat("yyyy-MM-dd");    }    /**     * 格式:MM-dd HH:mm     */    public static SimpleDateFormat DATEFORMATER3() {        return new SimpleDateFormat("yyMMddHHmmss");    }    /**     * 格式:yyyyMMdd-HH:mm:ss     */    public static SimpleDateFormat TIMEFORMATER() {        return new SimpleDateFormat("yyyyMMdd-HH:mm:ss");    }    /**     * 格式:yyyy-MM-dd HH:mm:ss     */    public static SimpleDateFormat TIMEFORMATER1() {        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    }    /**     * 格式:yyMMddHHmmss     */    public static SimpleDateFormat TIMEFORMATER3() {        return new SimpleDateFormat("yyMMddHHmmss");    }    /**     * 格式:MM-dd HH:mm     */    public static SimpleDateFormat TIMEFORMATER4() {        return new SimpleDateFormat("MM-dd HH:mm");    }    /**     * 格式:yyyyMMddHHmmss     */    public static SimpleDateFormat TIMEFORMATER_yyyyMMddHHmmss() {        return new SimpleDateFormat("yyyyMMddHHmmss");    }    public static Date formatTime(String timeStr) {        Date date = null;        try {            date = TIMEFORMATER().parse(timeStr);        } catch (Exception e) {            String errorMsg = String.format("解析日期失败,非法的日期格式[%s], 正确格式为[yyyyMMdd-HH:mm:ss]", timeStr);            LOGGER.trace(errorMsg);        }        return date;    }    public static Date stringToDatetime(String timeStr){        Date date = null;    try {    date = TIMEFORMATER1().parse(timeStr);    } catch (Exception e) {    String errorMsg = String.format("解析日期失败,非法的日期格式[%s], 正确格式为[yyyy-MM-dd HH:mm:ss]", timeStr);    LOGGER.trace(errorMsg);    }        return date;    }    public static Date formatDate(String dateStr) {        Date date = null;        try {            date = DATEFORMATER().parse(dateStr);        } catch (Exception e) {            String errorMsg = String.format("解析日期失败,非法的日期格式[%s]", dateStr);            LOGGER.trace(errorMsg);        }        return date;    }    public static Date formatDate(Date date) {        String dateString = DATEFORMATER().format(date);        Date formatedDate = null;        try {            formatedDate = DATEFORMATER().parse(dateString);        } catch (Exception e) {            LOGGER.trace(e.getMessage());            e.printStackTrace();        }        return formatedDate;    }    public static Date addHour(Date date, int hour) {        Calendar c = Calendar.getInstance();        c.setTime(date);        c.add(Calendar.HOUR, hour);        return c.getTime();    }    public static Date addDate(Date date, int day) {        Calendar c = Calendar.getInstance();        c.setTime(date);        c.add(Calendar.DATE, day);        return c.getTime();    }    public static Date formatMonth(Date date) {        String dateString = MONTHFORMATER().format(date);        Date formatedDate = null;        try {            formatedDate = MONTHFORMATER().parse(dateString);        } catch (Exception e) {            LOGGER.trace(e.getMessage());            e.printStackTrace();        }        return formatedDate;    }    public static Date addMonth(Date date, int month) {        Calendar c = Calendar.getInstance();        c.setTime(date);        c.add(Calendar.MONTH, month);        return c.getTime();    }    public static Date formatYear(Date date) {        String dateString = YEARFORMATER().format(date);        Date formatedDate = null;        try {            formatedDate = YEARFORMATER().parse(dateString);        } catch (Exception e) {            LOGGER.trace(e.getMessage());            e.printStackTrace();        }        return formatedDate;    }    public static Date addYear(Date date, int year) {        Calendar c = Calendar.getInstance();        c.setTime(date);        c.add(Calendar.YEAR, year);        return c.getTime();    }    public static String stratTimeToday(Date date) {        Calendar c = Calendar.getInstance();        c.setTime(date);        c.set(Calendar.HOUR_OF_DAY, 0);        c.set(Calendar.MINUTE, 0);        c.set(Calendar.SECOND, 0);        return TIMEFORMATER1().format(c.getTime());    }    public static String endTimeToday(Date date) {        Calendar c = Calendar.getInstance();        c.setTime(date);        c.set(Calendar.HOUR_OF_DAY, 23);        c.set(Calendar.MINUTE, 59);        c.set(Calendar.SECOND, 59);        return TIMEFORMATER1().format(c.getTime());    }    public static boolean isToday(Date date) {        Date today = formatDate(new Date());        date = formatDate(date);        return (today.getTime() == date.getTime());    }    public static boolean isCurMonth(Date date) {        Date today = formatMonth(new Date());        date = formatMonth(date);        return (today.getTime() == date.getTime());    }    public static boolean isCurYear(Date date) {        Date curYear = formatYear(new Date());        date = formatMonth(date);        return (curYear.getTime() == date.getTime());    }    public static Date getCalendarStart(Date date) {        Date firstDay = formatMonth(date);        Calendar calendar = Calendar.getInstance();        calendar.setTime(firstDay);        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);        return addDate(firstDay, 1 - dayOfWeek);    }    public static Date getCalendarEnd(Date date) {        Date firstDay = formatMonth(date);        Calendar calendar = Calendar.getInstance();        calendar.setTime(firstDay);        calendar.add(Calendar.MONTH, 1);        calendar.add(Calendar.DATE, -1);        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);        calendar.add(Calendar.DATE, Calendar.DAY_OF_WEEK - dayOfWeek);        return calendar.getTime();    }    public static Date getStarDateByYear(int year) {        Calendar c = Calendar.getInstance();        c.set(Calendar.YEAR, year);        c.set(Calendar.MONTH, 0);        c.set(Calendar.DAY_OF_MONTH, 1);        c.set(Calendar.HOUR_OF_DAY, 0);        c.set(Calendar.MINUTE, 0);        c.set(Calendar.SECOND, 0);        c.set(Calendar.MILLISECOND, 0);        return c.getTime();    }    public static Date getEndDateByYear(int year) {        Calendar c = Calendar.getInstance();        c.set(Calendar.YEAR, year + 1);        c.set(Calendar.MONTH, 0);        c.set(Calendar.DAY_OF_MONTH, 1);        c.set(Calendar.HOUR_OF_DAY, 0);        c.set(Calendar.MINUTE, 0);        c.set(Calendar.SECOND, 0);        c.set(Calendar.MILLISECOND, 0);        return c.getTime();    }    /**     * 求两个日期差 endDate - beginDate     *      * @param beginDate     *            开始日期     * @param endDate     *            结束日期     * @return 两个日期相差天数     */    public static long getDateMargin(Date beginDate, Date endDate) {        long margin = 0;        margin = endDate.getTime() - beginDate.getTime();        margin = margin / (1000 * 60 * 60 * 24);        return margin;    }    public static void main(String[] args) throws ParseException {        System.out.println(TIMEFORMATER1().format(getStarDateByYear(2013)));                Date d = stringToDatetime("2015-04-07 14:00:00");        Date d1 = stringToDatetime("2015-04-07 14:01:00");        Calendar c = Calendar.getInstance();        c.setTime(d);        System.out.println(c.get(Calendar.YEAR));        System.out.println(getSeconds(d,d1));    }        public static Date getDate(Date date, int field, int i) {if (date == null)return null;Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.add(field, i);return calendar.getTime();}        public static double getSeconds(Date start, Date end)    {        double diffInSeconds = 0.001 * (end.getTime() - start.getTime());        return diffInSeconds;    }    }




0 0
原创粉丝点击