SimpleDateFormat及各种时间互转

SimpleDateFormat详解

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
    SimpleDateFormat sdf1 = new SimpleDateFormat("yy/MM/dd HH:mm");
    SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//等价于now.toLocaleString()
    SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
    SimpleDateFormat sdf4 = new SimpleDateFormat(
            "一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
    java.util.Date date = new java.util.Date();
    System.out.println(sdf.format(date));// 2022年02月19日 15时12分02秒
    System.out.println(sdf1.format(date));// 22/02/19 15:12
    System.out.println(sdf2.format(date));// 2022-02-19 15:12:02
    System.out.println(sdf3.format(date));// 2022年02月19日 15时12分02秒 周六 
    System.out.println(sdf4.format(date));// 一年中的第 50 天 一年中第8个星期 一月中第3个星期 在一天中15时 CST时区
    System.out.println(date.toGMTString());// 19 Feb 2022 07:12:02 GMT
    System.out.println(date.toLocaleString());// 2022年2月19日 下午3:12:02
    System.out.println(date.toString());// Sat Feb 19 15:12:02 CST 2022

 

获取当前时间戳  

//方法 一

long time1 = System.currentTimeMillis()

//方法 二

long time2 = Calendar.getInstance().getTimeInMillis();

//方法 三

long time3 = new Date().getTime();//方法 一

long time1 = System.currentTimeMillis()

//方法 二

long time2 = Calendar.getInstance().getTimeInMillis();

//方法 三

long time3 = new Date().getTime();

获取当前时间

 ​​​​​​
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式

String date = df.format(new Date());

System.out.println("当前时间:"+date);

时间转换为时间戳

 ​​​​​
//date是yyyy-MM-dd HH:mm:ss格式的String类型的时间

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date time= simpleDateFormat.parse(date);

long timeStamp= time.getTime();

System.out.println(timeStamp);

时间戳转换为时间

//s是String类型的时间戳

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

long timeStamp= new Long(s);

Date date = new Date(timeStamp);

String time= simpleDateFormat.format(date);

System.out.println(time);

utc与dat互转

     public static final String FORMAT_UTC = "yyyy-MM-dd'T'HH:mm:ss'Z'";

    /**
     * @description: Date转换至UTC时间
     * @createDate: 2021/9/29 17:39
     */
    private static String formatDateToUTC(Date date) {
        // 2021-09-29T09:14:50Z
        SimpleDateFormat dateFormat = new SimpleDateFormat(FORMAT_UTC);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.HOUR, -8);
        return dateFormat.format(calendar.getTime());
    }

    /**
     * @description: UTC时间转换至Date
     * @createDate: 2021/9/29 17:39
     */
    private static Date formatUTCToDate(String utc) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat(FORMAT_UTC);
        Date parse = sdf.parse(utc);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(parse);
        calendar.set(Calendar.HOUR, calendar.get(Calendar.HOUR) + 8);
        return calendar.getTime();
    }​​​​​​​


​​​​​​
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值