java开发常用方法

1.获取一个月前日期

1)

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        String startTimeYoY = LocalDate.parse(startTime, formatter).minusYears(1).format(formatter);
        String endTimeYoY = LocalDate.parse(endTime, formatter).minusYears(1).format(formatter);

//获取当前日期
        Date date = new Date();
        //将时间格式化成yyyy-MM-dd HH:mm:ss的格式
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //创建Calendar实例
        Calendar cal = Calendar.getInstance();
        //设置当前时间
        cal.setTime(date);
        //在当前时间基础上减一年
        cal.add(Calendar.YEAR, -1);  
        System.out.println(format.format(cal.getTime()));
        //在当前时间基础上减一月
        cal.add(Calendar.MONTH,-1);
        System.out.println(format.format(cal.getTime()));
        //同理增加一天的方法:
        cal.add(Calendar.DATE, 1);
        System.out.println(format.format(cal.getTime()));
 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
 String startTimeYoY =LocalDate.parse(startTime,formatter).minusYears(1).format(formatter);
 String endTimeYoY = LocalDate.parse(endTime, formatter).minusYears(1).format(formatter);

2.集合拆分


<dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>21.0</version>
</dependency>
public static void main(String[] args) {
 		//需要进行分组的集合
        List<Integer> targetList = new ArrayList<>();
        targetList.add(1);
        targetList.add(2);
        targetList.add(3);
        targetList.add(4);
        targetList.add(5);
        targetList.add(6);
        //集合分组。2代表 每两个分成一组。已知集合size=6,两个一组即分为三组
        List<List<Integer>> partition = Lists.partition(targetList, 2);
        System.out.println("切分后的数组,index【0】:"+partition.get(0));
        System.out.println("切分后的数组,index【1】:"+partition.get(1));
        System.out.println("切分后的数组,index【2】:"+partition.get(2));
 
    }

 需要注意:切分后的数组其实是对原数组的一种引用,对切分后数组的操作和对原数组的操作都会彼此影响

3.stream流

1)排序

picYoyList = picYoyList.stream().sorted(Comparator.comparing(CPGYHYreport::getProductionDate).thenComparing(Comparator.comparing(CPGYHYreport::getCreateTime))).collect(Collectors.toList());

4.时间比较

Date now=new Date();
        if(now.compareTo(DateUtil.parseDate(appExamManage.getStart()))>=0){
            appExamManage.setStatus(1);
        }

5.计算时间差

        Date start=df.parse(paper.getStart());
        Date end=df.parse(paper.getEnd());
        int startN = (int)(start.getTime()/(1000 * 60));
        int endN = (int)(end .getTime()/(1000 * 60));
        totalTime=endN -startN ;

6.计算程序运行时间

StopWatch stopWatch = new StopWatch();
stopWatch.start();
Thread.sleep(1);
stopWatch.stop();
System.out.println(stopWatch.toString());
System.out.println(stopWatch.getTotalTimeSeconds());

7.SQL

计算时间差

---两个时间差 hh:mm:ss
left(timediff(u.oper_time,e.start),8)
--时间差 分钟
TIMESTAMPDIFF(minute,m.start,m.end)

查询一周内的

 exec_date> DATE_SUB(now(), INTERVAL 7 DAY)  #7个自然日


create_time > subdate(curdate()-1,date_format(curdate()-1,'%w')-1) #本周的周一

select subdate(curdate()-1,date_format(curdate()-1,'%w')-7) #本周的周日

8.git常用命令

查看所有未管理的文件

git status

回退到某个提交

git reset --hard 26c32a71

9.注解实现简单日期格式转换
 

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")

10.随机数生成

         Random random = new Random();
         // 生成一个范围在0到3之间的随机数
         int randomNumber = random.nextInt(4)  ;

11.获取7天前的日期

12.公式计算

//支持括号,函数等
 ScriptEngineManager().getEngineByName("JavaScript").eval(formula);

13.java保留小数

        double d=4.5;
        DecimalFormat df1=new DecimalFormat("#.##");//#不会强制保留
        DecimalFormat df2=new DecimalFormat("0.00");//0会强制保留2位小数
        System.out.println(df1.format(d));
        System.out.println(df2.format(d));

输出结果 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值