日期和时间部分总结:
package com.yyr.clone;
import java.text.SimpleDateFormat;
import java.time.Clock;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.Calendar;
import java.util.Date;
public class Test {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
// 获取当前时间:年月日时分秒
toDay(cal);
// 获取从1970年1月1日0时0分0秒到现在的毫秒数
getMillis();
// 获取当前月第一天和最后一天
getFirstAndLastDay(cal);
// 昨天的此时此刻(加日期格式化)
getYesterday(cal);
}
public static void toDay(Calendar cal) {
System.out.println("年:" + cal.get(Calendar.YEAR));
System.out.println("月:" + cal.get(Calendar.MONTH) + 1);
System.out.println("日:" + cal.get(Calendar.DATE));
System.out.println("时:" + cal.get(Calendar.HOUR_OF_DAY));
System.out.println("分:" + cal.get(Calendar.MINUTE));
System.out.println("秒:" + cal.get(Calendar.SECOND));
// java 8
LocalDateTime dt = LocalDateTime.now();
System.out.println("年:" + dt.getYear());
System.out.println("月(英文):" + dt.getMonth() + ":" + dt.getMonthValue());
System.out.println("日:" + dt.getDayOfMonth());
System.out.println("时:" + dt.getHour());
System.out.println("分:" + dt.getMinute());
System.out.println("秒:" + dt.getSecond());
}
public static void getMillis() {
System.out.println("毫秒数:" + Calendar.getInstance().getTimeInMillis());
System.out.println("毫秒数:" + System.currentTimeMillis());
// java 8
System.out.println("毫秒数:" + Clock.systemDefaultZone().millis());
}
public static void getFirstAndLastDay(Calendar c) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
c.add(Calendar.MONTH, 0);
c.set(Calendar.DAY_OF_MONTH, 1);
String first = sdf.format(c.getTime());
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
String last = sdf.format(c.getTime());
System.out.println("本月第一天:" + first + "\t本月最后一天:" + last);
// java 8
LocalDate day = LocalDate.now();
LocalDate fisrtday = LocalDate.of(day.getYear(), day.getMonth(), 1);
//LocalDate fisrtday1=day.with(TemporalAdjusters.firstDayOfMonth());
LocalDate lastday = day.with(TemporalAdjusters.lastDayOfMonth());
System.out.println("本月第一天:" + fisrtday + "\t本月最后一天:" + lastday);
}
public static void getYesterday(Calendar c) {
c.add(Calendar.DATE, -1);
System.out.println(formatDateBySdf(c.getTime()));
// java 8
LocalDateTime now = LocalDateTime.now().minusDays(1);
System.out.println(formatDateByDf(now));
}
// 格式化日期1
public static String formatDateBySdf(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
//字符串日期转时间
try {
System.out.println("parse:"+sdf.parse("2018/01/10 12:05:30"));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sdf.format(date);
}
// 格式化日期2
public static String formatDateByDf(LocalDateTime now) {
// java 8
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
//字符串日期转时间
System.out.println("parse:"+LocalDateTime.parse("2018-01-10 12:05:30", df));
return df.format(now);
}
}