1.获取当前时间的后一天 的开始时间

这里需要用到的是常用类库中DateFormat知识点以及Calendar知识点。

首先需要获取当前时间的时间戳,代码如下:

long time1 = System.currentTimeMillis();

通过DateFormat格式化:

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

将时间戳转换为格式化时间并且转换为字符串:

String d1 = df.format(new Date(time1));

接下来需要用到Calendar设置时间,需要将当前时间的天数加一,将当前时间的小时,分钟,秒,毫秒设置为0,那么第二天开始的时间就已经设置好了

Calendar now = Calendar.getInstance();
now.add(Calendar.DATE,+1);
now.set(Calendar.HOUR_OF_DAY,0);
now.set(Calendar.MINUTE,0);
now.set(Calendar.SECOND,0);
now.set(Calendar.MILLISECOND,0);
String nextday = df.format(now.getTime());//将设置好的当前时间格式化
long time2 = now.getTimeInMillis();//当前时间转换为时间戳

看一下输出的结果

2.

某林业工人孙工,作息规律为上三天班,休息一天,经常不确定休息日是否是周末。为此,请你开发一个程序,当孙工
输入年以及月,以日历方式显示对应月份的休息日,用中括号进行标记(可以查看以前的休息情况和将来的休息情
况)。同时,统计出本月有几天休息,轮到周末休息有几天
直接上源代码,有一定的注释:
import java.util.Calendar;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Scanner;
import java.text.ParseException;public class lianxi2 {public static void main(String[] args) throws ParseException {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);System.out.println("请输入年:");int year = sc.nextInt();System.out.println("请输入月: ");int month = sc.nextInt();DateFormat df = new SimpleDateFormat("yyyy-MM-dd");Calendar cal = Calendar.getInstance();Date startData = df.parse("2020-02-01");//设置起始时间cal.set(Calendar.YEAR, year);//将年,月设置为用户输入的时间cal.set(Calendar.MONTH, month-1);cal.set(Calendar.DAY_OF_MONTH, 1);//设置当前月数的第一天int weekStart = cal.get(Calendar.DAY_OF_WEEK);//获得每周开始的时间System.out.println("日\t一\t二\t三\t四\t五\t六");for (int i=1;i<weekStart;i++){System.out.printf("%-8s","");//在变量右边缩进8个字符}int countRelax = 0;int countWeekend = 0;int maxDate = cal.getActualMaximum(Calendar.DATE);//让maxDate获取本月的最大天数for (int i=1;i<= maxDate;i++){cal.set(Calendar.DAY_OF_MONTH, i);//设置每月当天的天数,Date temp = cal.getTime();//获取用户输入的年,月int gap = getDifferentDay(startData, temp);//获得本月的总天数。if (gap%4==1){//上三天休息一天,每循环一次休息天数+1System.out.printf("%-8s","["+cal.get(Calendar.DAY_OF_MONTH)+"]");countRelax++;if (cal.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY||cal.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY){countWeekend++;//判定休息天数是否在周末内,如果是周末天数+1}}else {System.out.printf("%-8s", cal.get(Calendar.DAY_OF_MONTH));}if(cal.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY){System.out.println();}cal.add(Calendar.DAY_OF_MONTH,1);}System.out.println("本月休息的天数有:"+countRelax);System.out.println("本月轮到周末休息的天数有:"+countWeekend);}private static int getDifferentDay(Date from, Date to){//该方法用于获得本月的总天数long fromTime = from.getTime();long toTime = to.getTime();int days = (int) ((toTime - fromTime) / (1000 * 60 * 60 * 24));return days;}
}

获取当前时间的后一天开始时间的时间戳以及一个关于日历类的一个编程问题相关推荐

  1. js 获取某个时间的一天前 几天前 一周前 几周前 一个月前 一年前的时间

    js 获取某个时间的一天前 几天前 一周前 几周前 一个月前 一年前的时间 1.一天前 var dateStr = new Date(); dateStr.setDate(dateStr.getDat ...

  2. 获取当前时间的后一天/前一天或者后1小时/前1小时

    重点就是在date2.setHours(date1.getHours() + 1)这一句 比如需要月份的加减可以通过setMonth()/getMonth()等方法达到效果. 一些例子 当前时间往后一 ...

  3. MySQL 获取当前时间的秒级、毫秒级时间戳

    # 秒级时间戳:1606371113 UNIX_TIMESTAMP(NOW()) # 毫秒级时间戳:1606371209293 REPLACE(unix_timestamp(current_times ...

  4. 【原创】kettle转换组件杂记-【javascript组件】获取当前时间的前一天/后一天

    一.获取当天日期有两种方法: 01."获取系统信息"组件->类型选择系统日期(可变)即可. 注:组件的英文名为:SystemInfo 02."javascript代 ...

  5. pgsql sql中获取当前时间_PostgreSQL 如何获取当前日期时间及注意事项

    在开发数据库应用或者调试代码时,经常需要获取系统的当前日期和时间,我们来看一下 PostgreSQL 中提供的相关函数. 当前日期 CURRENT_DATE CURRENT_DATE 函数用于获取数据 ...

  6. pgsql sql中获取当前时间_PostgreSQL技巧 如何获取当前日期时间

    这篇文章主要介绍了PostgreSQL 如何获取当前日期时间及注意事项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 在开发数据 ...

  7. PostgreSQL 获取当前日期时间及注意事项

    文章目录 当前日期 CURRENT_DATE 当前事务开始时间 CURRENT_TIME.LOCALTIME.CURRENT_TIMESTAMP.LOCALTIMESTAMP 当前语句开始时间 tra ...

  8. c#获取当前时间 毫秒_《Linux设备驱动程序》(十二)——时间操作(一)

    之前我们学会了如何编写一个字符设备,并对其中的一些重要操作进行了说明.对于一个完整的设备而已,可能还有许多工作要做. 本节我们将要说一下内核中是如何对时间问题进行操作的. 本节主要涉及到以下内容: 内 ...

  9. 获取某个时间的当月起止时间

    /*** 获取当前时间月份的第一天开始时间** @param date* @return*/public static Date getMonthFistDayTime(Date date) {if ...

最新文章

  1. jquery获取html页面参数乱码,JS或Jquery获取浏览器URL的参数值 汉字值乱码 并转码...
  2. mysql 5.6.22编译_saltstack全编译安装mysql5.6.22
  3. 【janio】janio 官网 翻译 Janino 是一个超小、超快的 Java 编译器
  4. centos 7.2 安装php56-xml
  5. javascript简易缓动插件
  6. Antd Upload 和 Antd Form 结合的踩坑记录
  7. 这个华人程序员是如何 6 个月狂赚 125 亿的?
  8. 拓端tecdat|R语言聚类有效性:确定最优聚类数分析IRIS鸢尾花数据和可视化
  9. Android精品开源项目整理_V20140221
  10. 计算机通信原理电子版,通信原理-西安电子科技大学.PDF
  11. 2019年CVTE凉
  12. 非线性薛定谔方程_现有光纤网络正被推向极限,未来怎么办?薛定谔波动方程来帮忙...
  13. getchar函数详解看这一篇就够了-C语言(函数功能、使用、返回值)
  14. libdbus 实例以及使用d-feet查看接口方法
  15. SublimeText3和EverEdit 的一些使用感受
  16. 链路聚合|静态,动态配置|华为,思科配置|聚盒~
  17. 组态王下拉式组合框使用教程,组态王下拉式组合框
  18. Word 批量转 PDF 方法, 杜绝耍手段的交费软件!
  19. 计算机系统中ram表示什么,ram代表的是什么?
  20. 去掉a标签超链接的虚线框的方法

热门文章

  1. vue获取页面dom元素样式的方法
  2. sklearn系列之----线性回归
  3. Python爬虫踩坑记录 _pickle.PicklingError: Can‘t pickle <class>
  4. 专利:结构化大数据通信协议(2)
  5. jeecgboot 前端环境搭建_JEECG-BOOT环境搭建:2.1.1版
  6. unity 学习笔记 受伤机制与反弹效果
  7. python编程和应用数据_python编程之变量和简单的数据结构
  8. Kodu(酷豆) 3D少儿编程
  9. 如何解决animate运行时提示,应该为在运行时可能编辑的任何文本嵌入字体,具有使用设备字体设置的文本除外。“
  10. Q老师度假(变形矩阵快速幂优化DP)