栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java时间格式化

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java时间格式化

一些时间格式化的记录 后端接收或返回
 //前端传入参数格式化
 @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 //后端返回参数格式化, timezone = "GMT+8" 是因为linux时间和windows差8个小时
 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
SimpleDateFormat 字符串Date类型互转
package demo01;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class DateTest {

    public static void main(String[] args) throws ParseException {
        String  date = "2022-04-28 22:02:00";

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

        //这里输入的字符串要和你想要的格式长度神马的都一样才行,也就是说string和格式化的  yyyy-MM-dd hh:mm:ss  长度是一致的
        Date date1 = simpleDateFormat.parse(date);
        System.out.println(date1);//Fri Jan 28 22:02:00 GMT+08:00 2022   GMT(Greenwich Mean Time)是格林尼治标准时间,+08:00 指标准时间加8小时,也就是北京时间。



        //这里的格式可以按照需要的定义
        SimpleDateFormat simpleDateFormat01 = new SimpleDateFormat("yy");
        SimpleDateFormat simpleDateFormat02 = new SimpleDateFormat("yyyy");
        SimpleDateFormat simpleDateFormat03 = new SimpleDateFormat("yyyy-mm");
        SimpleDateFormat simpleDateFormat04 = new SimpleDateFormat("今天是yyyy年mm月第dd天的hh时mm分ss秒");
        SimpleDateFormat simpleDateFormat05 = new SimpleDateFormat("今天是yyyy年mm月第dd天的HH时mm分ss秒");
        SimpleDateFormat simpleDateFormat06 = new SimpleDateFormat("今天是yyyy年的第DD天,E");

        
//        System.out.println(simpleDateFormat01.parse(date));
//        System.out.println(simpleDateFormat02.parse(date));
//        System.out.println(simpleDateFormat03.parse(date));
//        System.out.println(simpleDateFormat03.parse(date));
        
        System.out.println(simpleDateFormat01.format(date1));//22
        System.out.println(simpleDateFormat02.format(date1));//2022
        System.out.println(simpleDateFormat03.format(date1));//2022-02
        System.out.println(simpleDateFormat04.format(date1));//今天是2022年02月第28天的10时02分00秒
        System.out.println(simpleDateFormat05.format(date1));//今天是2022年02月第28天的22时02分00秒
        System.out.println(simpleDateFormat06.format(new Date()));//
        System.out.println(simpleDateFormat06.format(date1));//  这个有问题求解



    }
}

数据库的时间格式化(这里用的mysql) 格式化缩写
%a	缩写星期名
%b	缩写月名
%c	月,数值
%D	带有英文前缀的月中的天
%d	月的天,数值(00-31)
%e	月的天,数值(0-31)
%f	微秒
%H	小时 (00-23)
%h	小时 (01-12)
%I	小时 (01-12)
%i	分钟,数值(00-59)
%j	年的天 (001-366)
%k	小时 (0-23)
%l	小时 (1-12)
%M	月名
%m	月,数值(00-12)
%p	AM 或 PM
%r	时间,12-小时(hh:mm:ss AM 或 PM)
%S	秒(00-59)
%s	秒(00-59)
%T	时间, 24-小时 (hh:mm:ss)
%U	周 (00-53) 星期日是一周的第一天
%u	周 (00-53) 星期一是一周的第一天
%V	周 (01-53) 星期日是一周的第一天,与 %X 使用
%v	周 (01-53) 星期一是一周的第一天,与 %x 使用
%W	星期名
%w	周的天 (0=星期日, 6=星期六)
%X	年,其中的星期日是周的第一天,4 位,与 %V 使用
%x	年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y	年,4 位
%y	年,2 位m
具体案例
select DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s');  -- 2022-05-02 23:13:13 可以统计时间范围内的
select DATE_FORMAT(NOW(),'%Y-%m-%d 00:00:00'); -- 2022-05-02 00:00:00 按照天统计
select DATE_FORMAT(NOW(),'%Y-%m-%d'); --  2022-05-02  可以按照年月日统计
select DATE_FORMAT(NOW(),'%Y-%m'); --  2022-05  可以按照年月统计
select DATE_FORMAT(NOW(),'%Y'); --  2022 可以按照年统计
select DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59');  -- 2022-05-02 23:59:59
select DATE_FORMAT(NOW(),'%y-%c-%d 23:59:59'); --   22-5-02 23:59:59
select DATE_FORMAT(NOW(),'%y-%b-%d 23:59:59'); --   22-May-02 23:59:59
select DATE_FORMAT(NOW(),'%y-%m-%d 23:59:59');  -- 22-05-02 23:59:59
select DATE_FORMAT(NOW(),'%y-%m-%d 23:59:59 %a'); -- 22-05-02 23:59:59 

select DATE_FORMAT(NOW(),'%j'); --      122天
select DATE_FORMAT(NOW(),'%Y年第 %j天'); --   属于 2022年第 122天  
select DATE_FORMAT(NOW(),'%u'); --   此年中的第 几个周  此时是第18个Mon

这里实际上都是拼成了字符串,可以自由拼接

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/855064.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号