Java获取当前时间的年月日作为主键
Java获取当前时间或者时间戳,用以生成主键,博主在用的有几种方法如下
package com.aa.bb.controller;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;
import javax.sound.midi.Soundbank;
public class testjava {
public static void main(String args[]) {
//1.获取当前时间
//方式一,获取年月日时分秒毫秒 17位
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("YYYYMMddHHmmssSSS");
String sdftime1 = formatter.format(currentTime);
System.out.println("sdftime1="+sdftime1);
//方式一简化版 获取年月日时分秒毫秒 17位
String sdftime2=new SimpleDateFormat("YYYYMMddHHmmssSSS").format(new Date());
System.out.println("sdftime2="+sdftime2);
/*
* 获取到秒,只需要去掉SimpleDateFormat后的三个"SSS"
* */
//2.获取当前时间戳
//方法 一
long time1=System.currentTimeMillis();
System.out.println("time1="+time1);
//方法 二
long time2=Calendar.getInstance().getTimeInMillis();
System.out.println("time2="+time2);
//方法 三
long time3=new Date().getTime();
System.out.println("time3="+time3);
//3.时间+随机序号生成主键
//例如:
System.out.println("id=="+new Date().getTime()+getBdid());
}
public static String getBdid() { // 获取随机序号
String sjs = "";
String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789";
char[] c = s.toCharArray();
Random random = new Random();
for (int i = 0; i < 10; i++) {
// 带参的nextInt(int x)则会生成一个范围在0~x(不包含X)内的任意正整数
/* 例如:int x=new Random.nextInt(100); 则x为一个0~99的任意整数 */
sjs = c[random.nextInt(c.length)] + sjs;
}
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("YYYYMMddHHmmss");
String dateString = formatter.format(currentTime);
return dateString + sjs;
}
}
运行结果:
sdftime1=20210317114917393
sdftime2=20210317114917421
time1=1615952957421
time2=1615952957421
time3=1615952957421
id==161595295742120210317114917Oa4rroYLKB
创作不易,如果这篇文章能够帮助到你,希望能关注或收藏一下博主,如果文章内容有问题也可留言讨论,我们一起学习,一起进步!!