currentTimeMillis(代表从1970年1月1日 8:00开始, 查询这个时间可以给0附个long)
long now = System.currentTimeMillis();
System.out.println(now);
System.out.printf("%tF %<tT%n",now);
System.out.printf("%tF %<tT%n",0L);
计算起始日期到当前日期
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
c.set(2003, Calendar.SEPTEMBER,17);
Date start = c.getTime();
System.out.printf("%tF %<tT%n", start);
Date d = new Date();
System.out.printf("%tF %<tT%n", d);
long days = (d.getTime() - start.getTime()) / (1000*60*60*24);
System.out.println(days);
计算十天前的日期
Date aa = new Date(d.getTime() - (1000*60*60*24*10));
System.out.printf("%tF %<tT%n",aa);
月初时间
//本月初
Calendar c2 = Calendar.getInstance();
c2.set(Calendar.DAY_OF_MONTH,1);
Date d3 = c2.getTime();
System.out.printf("%tF %<tT%n",d3);
显示当前年份和月份
Calendar a = Calendar.getInstance();
int year = a.get(Calendar.YEAR);
int month = a.get(Calendar.MONTH)+1;
System.out.println(year);
System.out.println(month);
指定范围内的随机日期
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;
public class Rand3 {
public static void main(String[] args) throws ParseException {
Calendar calendar = Calendar.getInstance();
long now = calendar.getTimeInMillis();
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
Date date = sdf.parse("2022-1-1 00:00:00");
long before = date.getTime();
Random random = new Random();
long randomDate = before + (long) (random.nextFloat()*(now - before + 1));
System.out.printf("%1$tF %1$tT",randomDate);
}
}