Java Time Type

All time types can be formatted SimpleDateFormat
obtain a timestamp

//精确到 毫秒级 
long ts1 = System.currentTimeMillis(); // 性能最好最优
long ts2 = Calendar.getInstance().getTimeInMillis();// 性能不如第一个
long ts3 = new Date().getTime(); // 底层是System.currentTimeMillis(),消耗性能
System.out.println("ts1="+ts1+";ts2="+ts2+";ts3="+ts3);

//时间戳转日期类型
Date date = new Date(ts1);  System.out.println(date);

//获取指定时间的时间戳
try {
	long ts = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").parse("2019-04-25 10:14:30:121").getTime();
	System.out.println(ts);
} catch (ParseException e) {
	e.printStackTrace();
}

java.util.Date ——> String

Date date = new Date();
System.out.println(date.toString());
// HH:24小时制; hh:12小时制。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(date));

String——>java.util.Date

String tString = "2019-04-25 10:30:25";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:Ss");
try {
	Date date = sdf.parse(tString);
	System.out.println(date);
} catch (ParseException e) {
	e.printStackTrace();
}

java.sql.Date ——> java.util.Date

java.sql.Date sd = new java.sql.Date(new java.util.Date().getTime());//只有日期
System.out.println(sd.getTime());
Date date = new Date(sd.getTime());//先转换时间戳,再转换成java.util.Date。反向转换同样。

Class Calendar

Calendar calendar = Calendar.getInstance();
// 获取年
int year = calendar.get(Calendar.YEAR);

// 获取月,这里需要需要月份的范围为0~11,因此获取月份的时候需要+1才是当前月份值
int month = calendar.get(Calendar.MONTH) + 1;

// 获取日		
int day = calendar.get(Calendar.DAY_OF_MONTH);

// 获取时
//int hour = calendar.get(Calendar.HOUR);
int hour = calendar.get(Calendar.HOUR_OF_DAY); // 24小时表示

// 获取分
int minute = calendar.get(Calendar.MINUTE);

// 获取秒
int second = calendar.get(Calendar.SECOND);

// 星期,英语国家星期从星期日开始计算
int weekday = calendar.get(Calendar.DAY_OF_WEEK);

System.out.println(calendar.getMaximum(calendar.DAY_OF_WEEK));

System.out.println("现在是" + year + "年" + month + "月" + day + "日" + hour
	+ "时" + minute + "分" + second + "秒" + "星期" + weekday);
Calendar calendar = Calendar.getInstance();
// 同理换成下个月 calendar.add(Calendar.MONTH, 1)
calendar.add(Calendar.DAY_OF_MONTH, -3);   //三天前
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

Calculation interval

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sourceTime = "2019-04-24 11:00:00";
try {
	Date date = sdf.parse(sourceTime);
	long now = System.currentTimeMillis();
	long interval = now-date.getTime();
	System.out.println(interval); //间隔的毫秒
	System.out.println(interval/(1000*60)); //间隔的分钟
} catch (ParseException e) {
	e.printStackTrace();
} //(同理,时间加减操作可以通过时间戳进行计算)

 

Guess you like

Origin blog.csdn.net/J1014329058/article/details/89509307