GUID生产类

public class GUID {

    private static Date date = new Date();
    private static StringBuilder buf = new StringBuilder();
    private static int seq = 0;
    //最好设置成5位,因前段JS无法获取超过14位的长整型,调整为2位递增
    //循环终止数
    private static final int ROTATION = 99;

    public static String getGuid() {
        return UUID.randomUUID().toString();
    }

    public static synchronized long next() {
        if (seq > ROTATION)
            seq = 0;
        buf.delete(0,buf.length());
        date.setTime(System.currentTimeMillis());
        String str = String.format("%1$ty%1$tm%1$td%1$tk%1$tM%1$tS%2$02d",date,seq++);
        return Long.parseLong(str);
    }
}
String.format("%1$ty%1$tm%1$td%1$tk%1$tM%1$tS%2$02d",date,seq++);
//使用指定的语言环境、格式字符串和参数返回一个格式化字符串。
//字符串解释:(以%分割)
%1$ty : %1第一个参数date;t:格式为时间;y:年份。获取第一个参数,时间格式,date的年份
%1$tm : 获取第一个参数,date的月份
%1$td : 获取第一个参数,date在本月中的天数
%1$tk : 获取第一个参数,date在当天的24小时制>时
%1$tM : 分
%1$tS : 秒
%2$02d : 第二个参数seq,类型为数字,保留两位

详情参照:
format格式解析模板学习:
http://blog.csdn.net/thc1987/article/details/17528093
字符串格式相应的字母意思:
http://blog.csdn.net/lonely_fireworks/article/details/7962171/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值