-
* 法
-
* @Author https://www.javastudy.cloud
-
* @CreateTime 2019/11/02
-
**/
-
public class DateDemo {
-
public static void main(String[] args) {
-
// 这个类的精华就在于入参,可以转换不同的格式
-
// 注意这个类不是线程安全的,切记不可多个线程共享同一个实例
-
// 真要在多线程环境下使用可以使用 ThreadLocal存对应线程的 Format
-
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
//字符串转时间
-
String myTimeStr = "2019-11-01 08:19:03";
-
try {
-
Date myDate = format.parse(myTimeStr);
-
System.out.println(myDate);
-
} catch (ParseException e) {
-
e.printStackTrace();
-
}
-
//时间转字符串
-
Date currentDate = new Date();
-
String currentDateStr = format.format(currentDate);
-
System.out.println(currentDateStr);
-
}
-
}
运行结果:
jdk推荐的写法:
-
/**
-
* @Author https://www.javastudy.cloud
-
* @CreateTime 2019/11/02
-
**/
5
必看视频!获取2024年最新Java开发全套学习资料 备注Java
. public class DateDemo {
-
public static void main(String[] args) {
-
// 与上一个DEMO不一样的是初始化
-
// 一个是直接NEW,一个是用工厂的方式去获取
-
SimpleDateFormat format = (SimpleDateFormat) SimpleDateFormat.getDateTimeInstance();
-
// 通过applyPattern来设定格式
-
format.applyPattern("yyyy-MM-dd HH:mm:ss");
-
//字符串转时间
-
String myTimeStr = "2019-11-01 08:19:03";
-
try {
-
Date myDate = format.parse(myTimeStr);
-
System.out.println(myDate);
-
} catch (ParseException e) {
-
e.printStackTrace();
-
}
-
//时间转字符串
-
Date currentDate = new Date();
-
String currentDateStr = format.format(currentDate);
-
System.out.println(currentDateStr);
-
}
-
}
节选字JDK,SimpleDateFormat源码
-
yyyy.MM.dd G 'at' HH:mm:ss z
-
2001.07.04 AD at 12:08:56 PDT
-
EEE, MMM d, ''yy
-
Wed, Jul 4, '01
-
h:mm a
-
12:08 PM
-
hh 'o''clock' a, zzzz
-
12 o'clock PM, Pacific Daylight Time
-
K:mm a, z
-
0:08 PM, PDT
-
yyyyy.MMMMM.dd GGG hh:mm aaa
-
02001.July.04 AD 12:08 PM
-
EEE, d MMM yyyy HH:mm:ss Z
-
Wed, 4 Jul 2001 12:08:56 -0700
-
yyMMddHHmmssZ
-
010704120856-0700
-
yyyy-MM-dd'T'HH:mm:ss.SSSZ
-
2001-07-04T12:08:56.235-0700
-
yyyy-MM-dd'T'HH:mm:ss.SSSXXX
-
2001-07-04T12:08:56.235-07:00
-
YYYY-'W'ww-u
-
2001-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
-
*/
-
public static Date lastMonthEnd(){
-
Calendar calendar = Calendar.getInstance();
-
//先获取到这个月的第一天
-
calendar.set(Calendar.DAY_OF_MONTH, 1);
-
clearTimeForCalendar(calendar);
-
//然后秒数减1就是上个月最后一刻了
-
calendar.add(Calendar.SECOND, -1);
-
return calendar.getTime();
-
}
-
/**
-
* 获取这个月开始的时间
-
* 2019-11-01 00:00:00
-
* @return
-
*/
-
public static Date thisMonthBegin(){
-
Calendar calendar = Calendar.getInstance();
-
//先获取到这个月的第一天
-
calendar.set(Calendar.DAY_OF_MONTH, 1);
-
clearTimeForCalendar(calendar);
-
return calendar.getTime();
-
}
总结
三个工作日收到了offer,头条面试体验还是很棒的,这次的头条面试好像每面技术都问了我算法,然后就是中间件、MySQL、Redis、Kafka、网络等等。
- 第一个是算法
关于算法,我觉得最好的是刷题,作死的刷的,多做多练习,加上自己的理解,还是比较容易拿下的。
而且,我貌似是将《算法刷题LeetCode中文版》、《算法的乐趣》大概都过了一遍,尤其是这本
《算法刷题LeetCode中文版》总共有15个章节:编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题
《算法的乐趣》共有23个章节:
- 第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)
基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)
- 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)
第一个是算法
关于算法,我觉得最好的是刷题,作死的刷的,多做多练习,加上自己的理解,还是比较容易拿下的。
而且,我貌似是将《算法刷题LeetCode中文版》、《算法的乐趣》大概都过了一遍,尤其是这本
《算法刷题LeetCode中文版》总共有15个章节:编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题
[外链图片转存中…(img-o1JWcwgy-1716457674337)]
《算法的乐趣》共有23个章节:
[外链图片转存中…(img-99pPXvps-1716457674338)]
[外链图片转存中…(img-XhoItX5y-1716457674338)]
- 第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)
基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)
[外链图片转存中…(img-ZOXmJOgt-1716457674338)]
- 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)
[外链图片转存中…(img-NlLE6gPt-1716457674339)]