系统运维系列 之java获取本月开始时间和结束时间等的方法

1、java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

import org.junit.Test;

public class TestDateUtil {
//1、获取当月第一天
@Test
public void testForDate(){
//规定返回日期格式
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar=Calendar.getInstance();
Date theDate=calendar.getTime();
GregorianCalendar gcLast=(GregorianCalendar)Calendar.getInstance();
gcLast.setTime(theDate);
//设置为第一天
gcLast.set(Calendar.DAY_OF_MONTH, 1);
String day_first=sf.format(gcLast.getTime());
//打印本月第一天
System.out.println(day_first);
}
//2、获取当月最后一天
@Test
public void testForDatelast(){
//获取Calendar
Calendar calendar=Calendar.getInstance();
//设置日期为本月最大日期
calendar.set(Calendar.DATE, calendar.getActualMaximum(calendar.DATE));
//设置日期格式
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
String ss=sf.format(calendar.getTime());
System.out.println(ss+" 23:59:59");
}
//3、非常简单和实用的获取本月第一天和最后一天
@Test
public void testt(){
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();    
       c.add(Calendar.MONTH, 0);
       c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 
       String first = format.format(c.getTime());
       System.out.println("===============本月first day:"+first);
       
       //获取当前月最后一天
       Calendar ca = Calendar.getInstance();    
       ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));  
       String last = format.format(ca.getTime());
       System.out.println("===============本月last day:"+last);
}
//4、获取上个月的第一天
@Test
public void getBeforeFirstMonthdate()throws Exception{
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar=Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
System.out.println("上个月第一天:"+format.format(calendar.getTime()));
}
//5、获取上个月的最后一天
@Test
public void getBeforeLastMonthdate()throws Exception{
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar=Calendar.getInstance();
int month=calendar.get(Calendar.MONTH);
calendar.set(Calendar.MONTH, month-1);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
System.out.println("上个月最后一天:"+sf.format(calendar.getTime()));
}

6、获取当前日期的前一周或者前一个月时间

 public static String getFirstDate(){
SimpleDateFormat  sdf = new SimpleDateFormat("yyyyMMdd");
Calendar cl = Calendar.getInstance();
// cl.setTime(dateNow);
// cl.add(Calendar.DAY_OF_YEAR, -1);
//一天
// cl.add(Calendar.WEEK_OF_YEAR, -1);
//一周
cl.add(Calendar.MONTH, -1);
//从现在算,之前一个月,如果是2个月,那么-1-----》改为-2
Date dateFrom = cl.getTime();
return sdf.format(dateFrom);
 }

 @Test
 public void testStartDate(){
 System.out.println("当前日期往前推一个月是:"+getFirstDate());

 //如果当前日期是2015.11.08,那么打印日期是:20151008
 }
}

2、获得当天开始时间和结束时间

public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);

        Date start = calendar.getTime();

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

        Date end = calendar.getTime();

        System.out.println(start);
        System.out.println(end);
    }

参考资料:
https://www.cnblogs.com/520playboy/p/5430282.html java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 系统运维知识库开发是一种基于 Java 编程语言的应用开发工作,旨在为系统运维人员提供一个集中管理和检索运维知识的平台。以下是关于该知识库开发的一些基本信息。 首先,Java 系统运维知识库开发需要具备一定的编程技能和经验。开发人员需要熟悉 Java 编程语言及相关的开发框架和技术,如 Spring、Hibernate、MyBatis 等,以便实现系统的功能。 其次,开发过程中需了解系统运维的相关知识和流程,以确保所开发的知识库能够真正满足运维人员的需求。这涉及到对系统运维领域的了解,包括各种常见问题和解决方案、运维工具的使用方法、安全性和性能优化等方面。 在功能实现方面,系统运维知识库可以包括以下基本功能: 1. 知识管理:提供对运维知识的录入、编辑、保存和分类等功能,以便于对知识进行有效的管理和检索。 2. 检索和查询:支持关键字检索和高级查询功能,使用户可以快速地找到所需的知识资料。 3. 知识分享和协作:允许系统运维人员之间分享和交流知识,可以通过评论、点赞等方式进行互动。 4. 权限管理:提供用户权限管理功能,以控制用户的访问权限和操作权限,确保知识库的安全性。 5. 统计和报表:支持对知识库的访问量、常见问题、解决方案等进行统计,并生成相应的报表。 此外,开发人员还需考虑知识库的用户界面设计和用户体验,使系统易于使用和操作。 综上所述,Java 系统运维知识库开发需要开发人员具备 Java 编程技能和运维知识,并实现一系列基本功能,以提供一个集中管理和检索运维知识的平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值