java.util.Date
- 时间戳(timestamp)是指某个时间点相对于一个固定的起始点(通常是格林威治时间1970年1月1日00:00:00)所经过的秒数或毫秒数。
- long t1 = d.getTime(); //时间戳
- 数值类型为long
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Daye3 {
public static void main (String[] aa) throws ParseException {
Date d = new Date();
long t1 = d.getTime(); //时间戳
System.out.println(t1);
int year = d.getYear() + 1900; //年
//
System.out.println(year);
int month = d.getMonth() + 1; // 月 0~11
System.out.println(month);
int date = d.getDate();// 日
System.out.println(date);
int day = d.getDay(); //0 - 6 星期几 = day +1
System.out.println(day);
//输出年月日时分秒 格式化输出
System.out.printf("%tF %tT%n", d, d);
System.out.printf("%d年%d月%d日 %d:%d:%d%n", year, month, date, d.getHours(), d.getMinutes(), d.getSeconds());
Date dd = new Date();
System.out.println(dd);
// 将日期转化为字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String str = sdf.format(dd);
System.out.println(str);
// 定义输出格式
SimpleDateFormat sd = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
// 将字符串转化为日期
Date d2 = sd.parse("2000/11/11 11:11:11");
System.out.println(d2);
// 指定格式化格式
var f = new SimpleDateFormat("今天是 " + "yyyy 年 MM 月 dd 日 E HH 点 mm 分 ss 秒");
System.out.println(f.format(d)); // 将当前时间袼式化为指定的格式
}
}
java.util.Calendar
- Calendar.YEAR:年份。
- Calendar.MONTH:月份。
- Calendar.DATE:日期。
- Calendar.DAY_OF_MONTH:日期,和上面的字段意义完全相同。
- Calendar.HOUR:12小时制的小时。
- Calendar.HOUR_OF_DAY:24 小时制的小时。
- Calendar.MINUTE:分钟。
- Calendar.SECOND:秒。
- Calendar.DAY_OF_WEEK:星期几
例如,要获取当前月份可用如下代码:
int month = Calendar.getInstance().get(Calendar.MONTH);
var c = Calendar.getInstance();
System.out.printf("%tF %<tT %<tA %<tp%n",c);
add 增加
c1.add(Calendar.DATE,5);
System.out println("当前日期,5天后的日期")
System.out.printf("%tF %<tT %<tA %<tp%n",c);
c1.add(Calendar.DATE,-5);
System.out println("当前日期,5天前的日期")
System.out.printf("%tF %<tT %<tA %<tp%n",c);
c1.add(Calendar.WEEK_OF_MONTH,10);
System.out println("当前日期,10周后的日期")
System.out.printf("%tF %<tT %<tA %<tp%n",c);
c1.add(Calendar.WEEK_OF_MONTH,-10);
System.out println("当前日期,10周前的日期")
System.out.printf("%tF %<tT %<tA %<tp%n",c);
c1.add(10,10);
System.out println("当前日期,10小时后的日期")
System.out.printf("%tF %<tT %<tA %<tp%n",c);
c1.add(10,100);
System.out println("当前日期,100小时后的日期")
System.out.printf("%tF %<tT %<tA %<tp%n",c);
Calendar.HOUR =10
c1.add(Calendar.HOUR,100);
System.out println("当前日期,100小时后的日期")
System.out.printf("%tF %<tT %<tA %<tp%n",c);
set 设置
- 设置2012 8月8日
c.set(2012, 8-1, 8);
//月份 0~11
System.out.println(c.getTime());
get 获取
int y = c.get(Calendar.YEAR); 年
int m = c.get(Calendar.MONTH)+1;月
int d =c.get(Calendar.DATE);日
int day=c.get(Calendar.DAY_OF_WEEK);星期几
Calender 和 Date 相互转换
// Calender
Date m1 = c.getTime();
Date m2 = new Date(c.getTimeInMillis());
// Date -> Calendar
Calender cc2 = Carlender.getIntance();
cc2.setTime(m1);