java日期对象 Date

Date

获取年月日时分

(获取年月日时分秒这几个方法已经过期)

public static void main(String[] args) {
    // 获取当前系统毫秒数
    long time = System.currentTimeMillis();
    System.out.println(time); // 1644820617444
    // 日期对象
    long time1 = new Date().getTime();
    System.out.println(time1); // 1644820617444

    // 获取年(要+1900)
    int year = time1.getYear() + 1900;
    System.out.println(year); // 2021
    // 获取月份(默认月份 0~11)
    int month = time1.getMonth() + 1;
    System.out.println(month); // 7
    // 获取天(周几)
    int day = time1.getDay();
    System.out.println(day); // 5
    // 获取小时(几点)
    int hour = time1.getHours(); // 9
    System.out.println(hour);
    // 获取分钟
    int minute = time1.getMinutes();
    System.out.println(minute);  // 56
}

时间格式化

常见的格式化编码:

字母描述示例
G纪元标记AD
y四位年份2001
M月份July or 07
d一个月的日期10
h A.M./P.M. (1~12)格式小时12
H一天中的小时 (0~23)22
m分钟数30
s秒数55
S毫秒数234
E星期几Tuesday
D一年中的日子360
F一个月中第几周的周几2 (second Wed. in July)
w一年中第几周40
W一个月中第几周1
aA.M./P.M. 标记PM  
k一天中的小时(1~24)24
K A.M./P.M. (0~11)格式小时10
z时区Eastern Standard Time
'文字定界符Delimiter
"单引号`

 (1)日期对象格式化为字符串

public static void main(String[] args) {
    Date date = new Date();
    // 创建时间格式化模板:参数是一个模板
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:ss:mm");
    System.out.println(simpleDateFormat.format(date)); // 2021-07-09 10:15:01
}

(2)把字符串解析为日期对象

public static void main(String[] args) {
    long date = new Date().getTime();
    // 创建时间格式化模板:参数是一个模板
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
    // 这个字符串格式必须跟上边模板一样才可以。
    String time = "2022/09/08 09:08:01";
    try {
        Date date1 = simpleDateFormat.parse(time);
        System.out.println(date1); // Thu Sep 08 09:08:01 CST 2022
    } catch (ParseException e) {
        e.printStackTrace();
    }
}

(3)时区的问题

相对于当前的北京时间,格式化别的国家的时间

public static void main(String[] args) {
    
    // 创建时间格式化模板:参数是一个模板
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
    TimeZone timeZone = TimeZone.getTimeZone("Asia/Tokyo"); // 获取一个国家的时区
    // 设置要格式化哪个国家的时区,默认是中国
    simpleDateFormat.setTimeZone(timeZone);
    // 相对于当前中国时间,东京的时间为:2021/07/09 11:41:01 
    System.out.println(simpleDateFormat.format(new Date()));
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值