Java获取当前时间的年月日作为主键

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

创作不易,如果这篇文章能够帮助到你,希望能关注或收藏一下博主,如果文章内容有问题也可留言讨论,我们一起学习,一起进步!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值