利用Calender获取系统时间,分别得到年月日
通过整除(/)和取余(%)获得每位数字
通过规则组合数字
import java.util.Calendar;
/**
* 系统时间转换成密码
* 第一位:年月日每位数字相加 结果取个位
* 第二位:年*月*日 结果取个位
* 第三位:年-月-日 结果取个位
* 第四位:年+月+日 结果取个位
* 第五位:月*日 结果取个位
* 第六位:月+日 结果取个位
*/
public class DatePasswordUtils {
public static String datePwd(Calendar calendar) {
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
int qYear = year / 1000;
int bYear = year % 1000 / 100;
int sYear = year % 1000 % 100 / 10;
int gYear = year % 1000 % 100 % 10;
int sMonth = month / 10;
int gMonth = month % 10;
int sDay = day / 10;
int gDay = day % 10;
int p1 = (qYear + bYear + sYear + gYear + sMonth + gMonth + sDay + gDay) % 10;
int p2 = (year * month * day) % 10;
int p3 = (year - month - day) % 10;
int p4 = (year + month + day) % 10;
int p5 = (month * day) % 10;
int p6 = (month + day) % 10;
String pwd1 = String.valueOf(p1);
String pwd2 = String.valueOf(p2);
String pwd3 = String.valueOf(p3);
String pwd4 = String.valueOf(p4);
String pwd5 = String.valueOf(p5);
String pwd6 = String.valueOf(p6);
return pwd1 + pwd2 + pwd3 + pwd4 + pwd5 + pwd6;
}
}
调用方式
Calendar calendar = Calendar.getInstance();
String pwd = DatePasswordUtils.datePwd(calendar);