过来瞅瞅学学

  • 当需要对Date时间类型进行加减int类型分钟运算


Date date = new Date();
        //Sun Mar 06 14:12:14 CST 2022
        int hour = 25;
        int minutes = 70;
        int second = 3;
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(simpleDateFormat.format(date));
        //初始时间↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 2022-03-06 14:23:33 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
        //创建时间工具类
        Calendar cal = Calendar.getInstance();
        //设置时间坐标
        cal.setTime(date);
        
        //给时间坐标加上hour小时
        cal.add(Calendar.HOUR,hour);
        System.out.println(simpleDateFormat.format(cal.getTime()));
        //加时时间↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 2022-03-07 15:24:12 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑可以跨天
        
        //给时间坐标加上minutes分钟
        cal.add(Calendar.MINUTE,minutes );
        System.out.println(simpleDateFormat.format(cal.getTime()));
        //加分时间↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 2022-03-06 16:33:33 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑可以跨小时
        
        //给时间坐标减去second秒
        cal.add(Calendar.SECOND,-second );
        System.out.println(simpleDateFormat.format(cal.getTime()));
        //减秒时间↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 2022-03-06 16:33:30 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑可以跨分钟
  • 当需要获取集合中的某个字段的集合

List<Event> event = new ArrayList();
        Event event1 = new Event();
        event1.setDeptId(18);
        event1.setEventType("小明");
        Event event2 = new Event();
        event2.setDeptId(19);
        event2.setEventType("小红");
        Event event3 = new Event();
        event3.setDeptId(20);
        event3.setEventType("小刚");
        event.add(event1);
        event.add(event2);
        event.add(event3);

        
        List<String> eventType = event.stream().map(Event::getEventType)
                                    .collect(Collectors.toList());
        System.out.println(eventType);
        //[小明, 小红, 小刚]
  • 时间格式化(常用)

@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
//@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date  receiveTime;
//JSONField和JsonFormat使用一个,一个不行换另一个
  • 对集合的处理(常用)
    ArrayList<Integer> list = new ArrayList<>();
            for(int i = 0; i<=10;i++){
                list.add(i);
                list.add(i++);
            }
            System.out.println(list);
            //[0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10]
    
            //获取list集合中小于5的元素集合
            List<Integer> collect = list.stream().filter(i -> (i <= 5)).collect(Collectors.toList());
            System.out.println(collect);
            //[0, 0, 2, 2, 4, 4]
    
            //做运算
            List<Integer> collect1 = list.stream().map(i -> ++i).collect(Collectors.toList());
            System.out.println(collect1);
            //[1, 1, 3, 3, 5, 5, 7, 7, 9, 9, 11, 11]
    
            //去重
            List<Integer> collect2 = list.stream().distinct().collect(Collectors.toList());
            System.out.println(collect2);
            //[0, 2, 4, 6, 8]
    
            //返回第几个之前的元素
            List<Integer> collect3 = list.stream().limit(7).collect(Collectors.toList());
            System.out.println(collect3);
            //[0, 0, 2, 2, 4, 4, 6]
    
            //获取第几个之后的元素
            List<Integer> collect4 = list.stream().skip(7)
    .collect(Collectors.toList());
            System.out.println(collect4);
            //[6, 8, 8]
    //进阶-根据集合中对象的某个字段去重
    //修改二级单位bug
                List<DbZone> dbZonesByGroupStreeCode1 = dbZonesByGroupStreeCode.stream().collect(
                        Collectors.collectingAndThen(
                                //去除重复StreetCode/新建ArrayList集合
                                Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DbZone::getStreetCode))), ArrayList::new));

    sql通过经纬度搜索范围

  • SELECT
    	* 
    FROM
    	(
    	SELECT
    		qj.JJDBH,
    		qj.DHDWJD,
    		qj.DHDWWD,
    		ROUND(
    			6371 * 2 * ASIN(
    				SQRT(
    				POW( 
    				SIN(( 入参纬度 * PI()/ 180-纬度字段名 * PI()/ 180 )/ 2 ), 2 )
    				+ COS( 入参纬度 * PI()/ 180 )
    				* COS( 纬度字段名 * PI()/ 180 )
    				* POW( SIN(( 入参经度 * PI()/ 180-经度字段名 * PI()/ 180 )/ 2 ), 2 )
    				))* 1000 
    		) AS `range` 
    	FROM
    		表名
    	) AS sub 
    WHERE
    	`range` < 距离(米)
    ORDER BY
    	`range`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值