java基础|java中时间与字符串之间的转换及获取常用时间

本网站记录了最全的各种JavaDEMO ,保证下载,复制就是可用的,包括基础的, 集合的, spring的, Mybatis的等等各种,助力你从菜鸟到大牛,记得收藏哦~~https://www.javastudy.cloud

时间与字符串之间的转换

其关键就在于SimpleDateFormat这个类

/**

*  这种写法是开发中经常用到的写法,但却不是jdk推荐的写法, 下一个DEMO展示JDK推荐的写

*  法

* @Author https://www.javastudy.cloud

* @CreateTime 2019/11/02

**/public class DateDemo {    public static void main(String[] args) {// 这个类的精华就在于入参,可以转换不同的格式// 注意这个类不是线程安全的,切记不可多个线程共享同一个实例// 真要在多线程环境下使用可以使用 ThreadLocal存对应线程的 FormatSimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");//字符串转时间StringmyTimeStr  ="2019-11-01 08:19:03";        try {DatemyDate =format.parse(myTimeStr);System.out.println(myDate);        } catch (ParseException e) {            e.printStackTrace();        }//时间转字符串DatecurrentDate =newDate();StringcurrentDateStr =format.format(currentDate);System.out.println(currentDateStr);    }}

运行结果:

jdk推荐的写法:

/**

* @Author https://www.javastudy.cloud

* @CreateTime 2019/11/02

**/public class DateDemo {    public static void main(String[] args) {// 与上一个DEMO不一样的是初始化// 一个是直接NEW,一个是用工厂的方式去获取SimpleDateFormatformat= (SimpleDateFormat) SimpleDateFormat.getDateTimeInstance();// 通过applyPattern来设定格式format.applyPattern("yyyy-MM-dd HH:mm:ss");//字符串转时间StringmyTimeStr  ="2019-11-01 08:19:03";        try {DatemyDate =format.parse(myTimeStr);System.out.println(myDate);        } catch (ParseException e) {            e.printStackTrace();        }//时间转字符串DatecurrentDate =newDate();StringcurrentDateStr =format.format(currentDate);System.out.println(currentDateStr);    }}

常用的时间格式及输出

节选字JDK,SimpleDateFormat源码

yyyy.MM.dd G'at'HH:mm:ss z2001.07.04AD at12:08:56PDT    EEE, MMM d,''yyWed, Jul4,'01


h:mm a

12:08 PM


hh 'o''clock' a, zzzz12o'clock PM, Pacific Daylight Time    K:mm a, z0:08PM, PDT    yyyyy.MMMMM.dd GGG hh:mm aaa02001.July.04AD12:08PM    EEE, d MMM yyyy HH:mm:ss ZWed,4Jul200112:08:56-0700yyMMddHHmmssZ010704120856-0700yyyy-MM-dd'T'HH:mm:ss.SSSZ2001-07-04T12:08:56.235-0700yyyy-MM-dd'T'HH:mm:ss.SSSXXX2001-07-04T12:08:56.235-07:00YYYY-'W'ww-u2001-W27-3

获取常用的时间

这是一个静态工具类,可以直接使用

/**

*

* 一些和时间相关的工具类

* @Author https://www.javastudy.cloud

* 公众号: 程序员学习大本营

* @CreateTime 2019/11/2

**/public class DateTools {/**

    * 获取上个月开始的时间

    * 2019-10-01 00:00:00

    * @return

    */public static Date lastMonthBegin(){Calendar calendar =Calendar.getInstance();calendar.add(Calendar.MONTH,-1);calendar.set(Calendar.DAY_OF_MONTH, 1);clearTimeForCalendar(calendar);Date time =calendar.getTime();return time;}/**

    * 获取 1970-01-01 00:00:00 这个时间点

    * @return

    */public static Date earlyDate(){Calendar calendar =Calendar.getInstance();calendar.set(Calendar.YEAR,1970);calendar.set(Calendar.MONTH,1);calendar.set(Calendar.DAY_OF_MONTH, 1);clearTimeForCalendar(calendar);Date time =calendar.getTime();return time;}/**

    * 获取上个月结束的时间点

    * 2019-10-31 23:59:59

    * @return

*/publicstaticDatelastMonthEnd(){        Calendar calendar = Calendar.getInstance();//先获取到这个月的第一天calendar.set(Calendar.DAY_OF_MONTH,1);        clearTimeForCalendar(calendar);//然后秒数减1就是上个月最后一刻了calendar.add(Calendar.SECOND,-1);returncalendar.getTime();    }/**

    * 获取这个月开始的时间

    * 2019-11-01 00:00:00

    * @return

    */publicstaticDatethisMonthBegin(){        Calendar calendar = Calendar.getInstance();//先获取到这个月的第一天calendar.set(Calendar.DAY_OF_MONTH,1);        clearTimeForCalendar(calendar);returncalendar.getTime();    }/**

    * 获取这个月结束的时间

    * 2019-11-30 23:59:59

    * @return

    */publicstaticDatethisMonthEnd(){        Calendar calendar = Calendar.getInstance();//先获取到这个月的第一天calendar.set(Calendar.DAY_OF_MONTH,1);        calendar.add(Calendar.MONTH,1);        clearTimeForCalendar(calendar);        calendar.add(Calendar.SECOND,-1);returncalendar.getTime();    }/**

    * 获取今天开始的时间

    * 2019-11-02 00:00:00

    * @return

    */publicstaticDatethisDayBegin(){        Calendar calendar = Calendar.getInstance();        clearTimeForCalendar(calendar);returncalendar.getTime();    }/**

    * 获取今天结束的时间

    * 2019-11-02 23:59:59

    * @return

    */publicstaticDatethisDayEnd(){        Calendar calendar = Calendar.getInstance();        calendar.add(Calendar.DAY_OF_MONTH,1);        clearTimeForCalendar(calendar);        calendar.add(Calendar.SECOND,-1);returncalendar.getTime();    }/**

    * 把date里面的时分秒给清空

    * @param date

    * @return

    */publicstaticDateclearTimeForDate(Date date){        Calendar calendar = Calendar.getInstance();        calendar.setTime(date);        clearTimeForCalendar(calendar);returncalendar.getTime();    }/**

    * 把Calendar时间里面的时分秒给清空

    * @param calendar

    */publicstaticvoidclearTimeForCalendar(Calendar calendar){        calendar.set(Calendar.HOUR_OF_DAY,0);        calendar.set(Calendar.MINUTE,0);        calendar.set(Calendar.SECOND,0);    }    }

DEMO 总评

时间与字符串之间的转换是开发中必不可少的技能, 有Calendar,Date,SimpleDateFormat等类的使用. 这块建议封装成工具类直接调用, 不用在代码里面重复造轮子, 少年,加油吧!!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335