请打印出昨天的此时此刻,这是我在面试一家公司时的面试题,在看到这道题的那一刻我有点蒙圈,因为我首先想到的是通过实例calender来依次获取日期,通过其day-1来实现此时此刻,但是这样会导致代码过长,显然不符合笔试特征,如下:

Calender cal = Calender.getInstance();
int year = cal.get(Calender.YEAR);
int month = cal.get(Calendar.MONTH)+1;
int day = cal.get(Calendar.DATE);
int hour = cal.get(Calendar.HOUR);
int minute = cal.get(Calendar.MINUTE);
int s = cal.get(Calendar.SECOND);
System.out.println(year+"-"+month+"-"+day+"  "+hour+":"+minute+":"+s);

写到一半,想起Calender有一个将日期前移一天的常量Calendar.DAY_OF_MONTH,宕机重写:

SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar now = Calendar.getInstance();
//将日历往前移一天--移动的是month中的天数而不是week中的星期数
now.add(Calendar.DAY_OF_MONTH,-1);
System.out.println(sf.format(now.getTime()));

然后我就没管了,到做完被批斗的时候,面试官问,你用过LocalDateTime吗?完了,没好好学习,在学校里面没咋自己拓展过知识点,一脸蒙笔,然后,果不其然,我GG了,痛定思痛,去了解了下Java8的特性:LocalDate,LocalTime,LocalDateTime,好家伙,给我来阴的是吧:

LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
System.out.println(localDateTime.format(formatter));
// 打印昨天的此时此刻
System.out.println(LocalDateTime.now().minusDays(1).format(DateTimeFormatter.ofPattern("y  yyy-MM-dd HH:mm:ss")));
  • 通过DateTimeFormatterofPattern()方法调整日期格式。
  • 通过获取到的时间format()对格式进行匹配
  • 通过minusDay/plusDays对日期进行加减,此外还有hours,minutessecondsyearsmonth等后续方法。
    雀氏简洁很多,最关键的是这些方法都是线程安全的,而Date的相关方法与SimpleDateFormat是线程不安全的,所以以后,选择谁懂得都懂,不懂的我也不想多说什么(手动狗头)

请打印出昨天的此时此刻相关推荐

  1. python假设产品列表如下请首先打印出商品列表_Python列表练习题

    4.往names列表中Rain后面插入一个子列表["oldboy","oldgirl"]. 5.返回names列表中Peiqi的索引值(下标). 6.创建新列表 ...

  2. 请输入班级人数,然后输入每个人的语文数学和英语成绩,并且打印出语文的两个最高分,数学的两个最低分。和英语的平均分(使用二维数组)

    题目: 请输入班级人数,然后输入每个人的语文数学和英语成绩,并且打印出语文的两个最高分,数学的两个最低分.和英语的平均分(使用二维数组) 代码如下: package XunHuanShuZu;impo ...

  3. 设有火车票1000张,创建10个线程模拟10个售票点,每个售票点100毫秒售出一张票。请模拟并打印出售票过程。

    设有火车票1000张,创建10个线程模拟10个售票点,每个售票点100毫秒售出一张票.请模拟并打印出售票过程. public class RunnableImpl implements Runnabl ...

  4. python逆序打印出各位数字_Python练习题 024:求位数及逆序打印

    [Python练习题 024] 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. ---------------------------------------------- ...

  5. Java1.使用二分搜索算法查找任意N个有序数列中的指定元素。 2.通过上机实验进行算法实现。 3.保存和打印出程序的运行结果,并结合程序进行分析,上交实验报告。 4.至少使用两种方法进行编程,直接查

    1.使用二分搜索算法查找任意N个有序数列中的指定元素. 2.通过上机实验进行算法实现. 3.保存和打印出程序的运行结果,并结合程序进行分析,上交实验报告. 4.至少使用两种方法进行编程,直接查找/递归 ...

  6. Console-算法[for]-打印出杨辉三角形

    ylbtech-Arithmetic:Console-算法[for]-打印出杨辉三角形 1.A,Demo(案例) [程序61] 题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: 1 1 ...

  7. 代码实现:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。...

    import java.util.Scanner; //给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. public class Test {public static v ...

  8. java输入一行_用java编写从标准输入读入一行字符串,打印出其中所有的数字

    用java编写从标准输入读入一行字符串,打印出其中所有的数字 关注:211  答案:1  mip版 解决时间 2021-01-13 10:00 提问者童話被染上了傷 2021-01-12 17:23 ...

  9. 请写出至少五个块级元素_Java 面试题(五)

    面向对象的三个特征 封装,继承,多态.这个应该是人人皆知. 多态的好处 允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用).主要有以下优 ...

最新文章

  1. php网站挂linux,Linux环境下php实现给网站截图的方法
  2. linux下安装微信wechat
  3. App设计灵感之十二组精美的家具产品电商App设计案例
  4. 2019ICPC(南京) - super_log(欧拉降幂)
  5. 流媒体的未来——视频技术如何演变
  6. django之auth模块
  7. java 多态判断非空_Java多态性理解
  8. react —— diff算法与VDOM
  9. 敏捷开发用户场景分析
  10. 汽车+辐射测试软件,汽车EMC辐射发射的一些所见所闻和思考
  11. Kaggle Future Sales“”竞赛 XGB_model_final
  12. Raki的读paper小记:ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS
  13. 两千万像素分辨率是多少_一亿像素究竟有无意义?荣耀红米为它“打”的火热...
  14. 服务器装系统就蓝屏,重装了下系统老是蓝屏
  15. 3d打印英语文献_3D打印模型在腹腔镜肝胆微创手术术前培训中的应用
  16. ubuntu12.04遭遇rootkit病毒解决办法
  17. RK3328_LPDDR3D178P132SD4_Template_V11_20170726,RK3328模块原理图和PCB
  18. UIPinchGestureRecognizer 放大、缩小手势
  19. 用爬虫玩转石墨文档API
  20. listview 点击 item 字体变颜色

热门文章

  1. 破解闲鱼收货源代码 详细解析
  2. 数据结构之 链表( 单链表, 双链表,循环链表)
  3. win10计算机没有属性,为什么我的win10电脑右键没有图形选项_Win10右键菜单没有“图形属性”和“图形选项”如何解决...
  4. java计算机毕业设计绿洲小区快递配送系统源码+系统+mysql数据库+lw文档
  5. HTML+CSS:渐变background-image: linear-gradient
  6. 布隆过滤器-BloomFilter
  7. c语言中调用一个程序设计,第一章 C语言程序设计概述
  8. duang!!!为什么函数能够返回unique_ptr
  9. R语言几种散点图矩阵的生成方法对比
  10. Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks