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

  1. String myTimeStr = "2019-11-01 08:19:03";

  2. try {

  3. Date myDate = format.parse(myTimeStr);

  4. System.out.println(myDate);

  5. } catch (ParseException e) {

  6. e.printStackTrace();

  7. }

  8. //时间转字符串

  9. Date currentDate = new Date();

  10. String currentDateStr = format.format(currentDate);

  11. System.out.println(currentDateStr);

  12. }

  13. }

运行结果:

jdk推荐的写法:

  1. /**

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

  3. * @CreateTime 2019/11/02

  4. **/

  5. public class DateDemo {

  6. public static void main(String[] args) {

  7. // 与上一个DEMO不一样的是初始化

  8. // 一个是直接NEW,一个是用工厂的方式去获取

  9. SimpleDateFormat format = (SimpleDateFormat) SimpleDateFormat.getDateTimeInstance();

  10. // 通过applyPattern来设定格式

  11. format.applyPattern("yyyy-MM-dd HH:mm:ss");

  12. //字符串转时间

  13. String myTimeStr = "2019-11-01 08:19:03";

  14. try {

  15. Date myDate = format.parse(myTimeStr);

  16. System.out.println(myDate);

  17. } catch (ParseException e) {

  18. e.printStackTrace();

  19. }

  20. //时间转字符串

  21. Date currentDate = new Date();

  22. String currentDateStr = format.format(currentDate);

  23. System.out.println(currentDateStr);

  24. }

  25. }

常用的时间格式及输出


节选字JDK,SimpleDateFormat源码

  1. yyyy.MM.dd G 'at' HH:mm:ss z

  2. 2001.07.04 AD at 12:08:56 PDT

  3. EEE, MMM d, ''yy

  4. Wed, Jul 4, '01

  5. h:mm a

  6. 12:08 PM

  7. hh 'o''clock' a, zzzz

  8. 12 o'clock PM, Pacific Daylight Time

  9. K:mm a, z

  10. 0:08 PM, PDT

  11. yyyyy.MMMMM.dd GGG hh:mm aaa

  12. 02001.July.04 AD 12:08 PM

  13. EEE, d MMM yyyy HH:mm:ss Z

  14. Wed, 4 Jul 2001 12:08:56 -0700

  15. yyMMddHHmmssZ

  16. 010704120856-0700

  17. yyyy-MM-dd'T'HH:mm:ss.SSSZ

  18. 2001-07-04T12:08:56.235-0700

  19. yyyy-MM-dd'T'HH:mm:ss.SSSXXX

  20. 2001-07-04T12:08:56.235-07:00

  21. YYYY-'W'ww-u

  22. 2001-W27-3

获取常用的时间

==============================================================================

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

  1. /**

  2. *

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

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

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

  6. * @CreateTime 2019/11/2

  7. **/

  8. public class DateTools {

  9. /**

  10. * 获取上个月开始的时间

  11. * 2019-10-01 00:00:00

  12. * @return

  13. */

  14. public static Date lastMonthBegin(){

  15. Calendar calendar = Calendar.getInstance();

  16. calendar.add(Calendar.MONTH,-1);

  17. calendar.set(Calendar.DAY_OF_MONTH, 1);

  18. clearTimeForCalendar(calendar);

  19. Date time = calendar.getTime();

  20. return time;

  21. }

  22. /**

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

  24. * @return

  25. */

  26. public static Date earlyDate(){

  27. Calendar calendar = Calendar.getInstance();

  28. calendar.set(Calendar.YEAR,1970);

  29. calendar.set(Calendar.MONTH,1);

  30. calendar.set(Calendar.DAY_OF_MONTH, 1);

  31. clearTimeForCalendar(calendar);

  32. Date time = calendar.getTime();

  33. return time;

  34. }

  35. /**

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

  37. * 2019-10-31 23:59:59

  38. * @return

  39. */

  40. public static Date lastMonthEnd(){

  41. Calendar calendar = Calendar.getInstance();

  42. //先获取到这个月的第一天

  43. calendar.set(Calendar.DAY_OF_MONTH, 1);

  44. clearTimeForCalendar(calendar);

  45. //然后秒数减1就是上个月最后一刻了

  46. calendar.add(Calendar.SECOND, -1);

  47. return calendar.getTime();

  48. }

  49. /**

  50. * 获取这个月开始的时间

  51. * 2019-11-01 00:00:00

  52. * @return

  53. */

  54. public static Date thisMonthBegin(){

  55. Calendar calendar = Calendar.getInstance();

  56. //先获取到这个月的第一天

  57. calendar.set(Calendar.DAY_OF_MONTH, 1);

  58. clearTimeForCalendar(calendar);

  59. return calendar.getTime();

  60. }

  61. /**

  62. * 获取这个月结束的时间

  63. * 2019-11-30 23:59:59

  64. * @return

  65. */

  66. public static Date thisMonthEnd(){

  67. Calendar calendar = Calendar.getInstance();

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

我的面试宝典:一线互联网大厂Java核心面试题库

以下是我个人的一些做法,希望可以给各位提供一些帮助:

整理了很长一段时间,拿来复习面试刷题非常合适,其中包括了Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等,且还会持续的更新…可star一下!

image

283页的Java进阶核心pdf文档

Java部分:Java基础,集合,并发,多线程,JVM,设计模式

数据结构算法:Java算法,数据结构

开源框架部分:Spring,MyBatis,MVC,netty,tomcat

分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等

微服务部分:SpringBoot,SpringCloud,Dubbo,Docker

image

还有源码相关的阅读学习

image

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
刷题非常合适,其中包括了Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等,且还会持续的更新…可star一下!

[外链图片转存中…(img-ybYh7ZBk-1713438344609)]

283页的Java进阶核心pdf文档

Java部分:Java基础,集合,并发,多线程,JVM,设计模式

数据结构算法:Java算法,数据结构

开源框架部分:Spring,MyBatis,MVC,netty,tomcat

分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等

微服务部分:SpringBoot,SpringCloud,Dubbo,Docker

[外链图片转存中…(img-DpR8vjMl-1713438344609)]

还有源码相关的阅读学习

[外链图片转存中…(img-vxNuKN4K-1713438344609)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值