java 时间戳 转 字符串

package com.jingshan.util;

import java.io.IOException;
import java.io.InputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
import org.apache.commons.codec.digest.DigestUtils;

import com.jingshan.model.Page;
public final class CommonsUtil {
    public static void testTime(){
        System.out.println(timeToString("1503991612952"));
        System.out.println(stringToTime("2017-08-29 15:26:52"));
    }
    // 时间戳转字符串  1503991612952 ==> 2017-08-29 15:26:52  时间戳 是long 类型
    public static String timeToString(String s){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date;
        try {
            date = sdf.parse(sdf.format(new Date(new Long(s))));
            //Date date = sdf.parse(sdf.format(new Long(s)));// 等价于
            return sdf.format(date);
        } catch (NumberFormatException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        } catch (ParseException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }
        return null;
    }
    // 字符串转时间戳 2017-08-29 15:26:52 ==> 1503991612952
    public static String stringToTime(String s){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date;
        try {
            date = sdf.parse(s);
            return String.valueOf(date.getTime());
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 根据文件名获得文件后缀名
     * @param filename 文件名
     * @return 后缀名
     */
    public static String getSuffix(String filename) {
        int pos = filename.lastIndexOf(".");// 判读是否有 .
        return pos > 0 && pos < filename.length() - 1 ? filename.substring(pos) : null;
    }

    /**
     * 基于时间+随机数的方式获得唯一文件名
     * @param suffix 后缀名
     * @return 带后缀名的文件名
     */
    public static String getUniqueFilename1(String suffix) {
        long millis = System.currentTimeMillis();//产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数
        String randomString = String.format("%d%05d", millis, (int) (Math.random() * 100000));// 拼接毫秒数 + 5位补齐0的随机数
        return randomString + (suffix != null ? suffix : "");// 生成指定唯一的字符串
    }

    /**
     * 基于UUID的方式获得唯一文件名
     * @param suffix 后缀名
     * @return 带后缀名的文件名
     */
    public static String getUniqueFilename2(String suffix) {
        String uuidString = UUID.randomUUID().toString();// 生成 32位 通用唯一识别码
        return uuidString + (suffix != null ? suffix : "");
    }

    /**
     * 基于MD5摘要的方式获得唯一文件名
     * @param in 输入流
     * @param suffix 后缀名
     * @return 带后缀名的文件名
     */
    public static String getUniqueFilename3(InputStream in, String suffix) {
        try {
            String md5String = DigestUtils.md5Hex(in);// md5 摘要方式的 唯一数据流
            return md5String + (suffix != null ? suffix : "");
        } catch (IOException e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
    }
    // 分页
    // 或分页
    public static Page getPage(String url,int page_size,int page_total,int page_now) {
        Page page = new Page();
        page.setFirstPage("<a href=\""+url+"?page=1\">首页</a>");
        page.setNextPage("<a href=\""+url+"?page="+((page_now < page_total)?(page_now + 1):page_total)+"\">&gt;</a>");
        page.setNowPage(""+page_now);

        if(page_now <= 2) {
            page.setPageNum1("");
        }else {
            int pageNum1 = (page_now -2 <= 1)?1:(page_now -2);
            page.setPageNum1("<a href=\""+url+"?page="+pageNum1+"\">"+pageNum1+"</a>");
        }

        if(page_now == 1) {
            page.setPageNum2("");
        }else {
            int pageNum2 = (page_now -1 <= 1)?1:(page_now -1);
            page.setPageNum2("<a href=\""+url+"?page="+pageNum2+"\">"+pageNum2+"</a>");
        }

        if(page_now >= page_total) {
            page.setPageNum3("");
        }else {
            int pageNum3 = (page_now +1 >= page_total)?page_total:(page_now +1);
            page.setPageNum3("<a href=\""+url+"?page="+pageNum3+"\">"+pageNum3+"</a>");
        }

        if(page_now >= page_total-1) {
            page.setPageNum4("");
        }else {
            int pageNum4 = (page_now +2 >= page_total)?page_total:(page_now +2);
            page.setPageNum4("<a href=\""+url+"?page="+pageNum4+"\">"+pageNum4+"</a>");
        }


        int page_pre = (page_now -1 <= 1)?1:(page_now -1);
        page.setPrePage("<a href=\""+url+"?page="+page_pre+"\">&lt;</a>");
        page.setTailPage("<a href=\""+url+"?page="+page_total+"\">尾页</a>");
        return page;

    }
// 类结束了
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值