java代码生成三位流水号
时间: 2023-12-03 12:02:38 浏览: 246
可以使用 SimpleDateFormat 类来生成时间戳,再结合一个自增的数字即可生成三位流水号。以下是一个示例代码:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public class SerialNumberGenerator {
private static int count = 0;
public static synchronized String generateSerialNumber() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String timestamp = sdf.format(new Date());
if (count > 999) {
count = 0;
}
String serialNumber = String.format("%s%03d", timestamp, count++);
return serialNumber;
}
}
```
这个类中的 generateSerialNumber() 方法会返回一个长度为 17 的字符串,前 14 位是时间戳,后 3 位是自增的数字。如果需要生成更长的流水号,可以将 %03d 改为 %04d 或更长的数字。
相关问题
java 自动生成流水号,规则为,年后两位+月+日+3位数的随机数 例如20230523001
可以使用以下代码生成符合规则的流水号:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
public class GenerateSerialNumber {
public static void main(String[] args) {
String serialNumber = generateSerialNumber();
System.out.println(serialNumber);
}
public static String generateSerialNumber() {
// 获取当前日期
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
String date = dateFormat.format(new Date());
// 生成三位随机数
Random random = new Random();
int num = random.nextInt(900) + 100;
// 拼接流水号
String serialNumber = date + num;
return serialNumber;
}
}
```
输出结果类似于:210613123
阅读全文