LocalDate,LocalDateTime,LocalTime开发中基本用法

news2025/1/25 4:45:59

LocalDate,LocalDateTime,LocalTime开发中基本用法

一 简要说明

package java.time;

在这里插入图片描述

LocalDate

  1. ISO-8601日历系统中没有时区的日期,例如 2023-08-19。
  2. 它是一个表示日期的不可变日期时间对象,常被视为年-月-日。其他日期字段,如年月日,星期几和星期几,也可以访问。
  3. 例如,值 “2nd October 2007” 可以存储在LocalDate
  4. 这个类不存储或表示时间或时区。相反,它是对日期的描述,就像生日一样。如果没有额外的信息,它不能代表时间线上的瞬间
    例如偏移量或时区。
  5. ISO-8601日历系统是当今使用的现代民用日历系统在世界大部分地区。它相当于预言的公历系统,今天的闰年规则适用于所有时间。
    对于今天编写的大多数应用程序,ISO-8601规则是完全合适的。但是,任何使用历史日期的应用程序,并且需要它们准确地说,会发现ISO-8601方法不适合。
  6. 不可变更,线程安全的。
    在这里插入图片描述

LocalTime

  1. ISO-8601日历系统中表示的时间是没有时区的,例如10:15:30
  2. LocalTime是一个不可变的日期时间对象,它表示时间,常被视为小时-分-秒,时间以纳秒精度表示。
  3. 例如,值 “13:45.30.123456789” 可以存储在LocalTime
  4. 这个类不存储或表示日期或时区。相反,它是对挂钟上显示的当地时间的描述。如果没有额外的信息,它不能代表时间线上的瞬间
    例如偏移量或时区。
  5. ISO-8601日历系统是当今使用的现代民用日历系统在世界大部分地区。该API假定所有日历系统都使用相同的日历表示,这个类,用于一天中的时间。
  6. 这个类不可变更,线程安全。
    在这里插入图片描述

LocalDateTime

  1. ISO-8601日历系统中表示的时间是没有时区的 ,例如 2007-12-03T10:15:30。
  2. LocalDateTime是一个不可变的日期时间对象,它表示日期时间,常被视为年-月-日-时-分-秒。其他日期和时间字段,如年月日、星期、星期等,亦可查阅,时间以纳秒精度表示。
  3. 例如,值 “2nd October 2007 at 13:45.30.123456789” 可以存储在LocalDateTime
  4. 这个类不存储或表示日期或时区。相反,它是对挂钟上显示的当地时间的描述。如果没有额外的信息,它不能代表时间线上的瞬间
    例如偏移量或时区。
  5. ISO-8601日历系统是当今使用的现代民用日历系统在世界大部分地区。该API假定所有日历系统都使用相同的日历表示,这个类,用于一天中的时间。
  6. 这个类不可变更,线程安全。

在这里插入图片描述

二 基本入门

LocalDate

默认使用yyyy-MM-dd格式,源码说明

    public static final DateTimeFormatter ISO_LOCAL_DATE;
    static {
        ISO_LOCAL_DATE = new DateTimeFormatterBuilder()
                .appendValue(YEAR, 4, 10, SignStyle.EXCEEDS_PAD)
                .appendLiteral('-')
                .appendValue(MONTH_OF_YEAR, 2)
                .appendLiteral('-')
                .appendValue(DAY_OF_MONTH, 2)
                .toFormatter(ResolverStyle.STRICT, IsoChronology.INSTANCE);
    }
   LocalDate now = LocalDate.now();
   log.info("获取当前日期 now : [{}]" , now);
   //  获取当前日期 now : [2023-08-18]

   LocalDate appointDate = LocalDate.of(2023, 8, 18);
   log.info("创建指定日期 appointDate : [{}]" , appointDate);
   // 创建指定日期 appointDate : [2023-08-18]

   // 默认就是格式yyyy-MM-dd
   LocalDate parse = LocalDate.parse("2023-08-18");
   log.info("字符串转换日期 parse : [{}]" , parse);

   String dateStr = String.valueOf(parse);
   log.info("日期转换字符串 dateStr : [{}]" , dateStr);

15:11:53.399 [main] INFO com.geekmice.springbootselfexercise.NoDaoTest - 获取当前日期 now : [2023-08-18]
15:11:53.405 [main] INFO com.geekmice.springbootselfexercise.NoDaoTest - 创建指定日期 appointDate : [2023-08-18]
15:11:53.435 [main] INFO com.geekmice.springbootselfexercise.NoDaoTest - 字符串转换日期 parse : [2023-08-18]
15:11:53.435 [main] INFO com.geekmice.springbootselfexercise.NoDaoTest - 日期转换字符串 dateStr : [2023-08-18]

在这里插入图片描述

LocalTime

默认时间格式hh:mm:ss,源码说明

public static final DateTimeFormatter ISO_LOCAL_TIME;
    static {
        ISO_LOCAL_TIME = new DateTimeFormatterBuilder()
                .appendValue(HOUR_OF_DAY, 2)
                .appendLiteral(':')
                .appendValue(MINUTE_OF_HOUR, 2)
                .optionalStart()
                .appendLiteral(':')
                .appendValue(SECOND_OF_MINUTE, 2)
                .optionalStart()
                .appendFraction(NANO_OF_SECOND, 0, 9, true)
                .toFormatter(ResolverStyle.STRICT, null);
    }

案例说明

        LocalTime now = LocalTime.now();
        log.info("当前时间 now : [{}]" , now);
        // 当前时间 now : [15:15:53.546]

        LocalTime appointTime = LocalTime.of(15, 14, 39);
        log.info("创建指定时间 appointTime : [{}]" , appointTime);
        // 创建指定时间 appointTime : [15:14:39]

        String timeStr = String.valueOf(appointTime);
        log.info("时间转换字符串 timeStr : [{}]" , timeStr);
        // 时间转换字符串 timeStr : [15:14:39]

        LocalTime parse = LocalTime.parse(timeStr);
        log.info("字符串转换时间 parse : [{}]" , parse);
        // 字符串转换时间 parse : [15:14:39]
        

15:17:30.158 [main] INFO com.geekmice.springbootselfexercise.NoDaoTest - 当前时间 now : [15:17:30.152]
15:17:30.168 [main] INFO com.geekmice.springbootselfexercise.NoDaoTest - 创建指定时间 appointTime : [15:14:39]
15:17:30.168 [main] INFO com.geekmice.springbootselfexercise.NoDaoTest - 时间转换字符串 timeStr : [15:14:39]
15:17:30.196 [main] INFO com.geekmice.springbootselfexercise.NoDaoTest - 字符串转换时间 parse : [15:14:39]

在这里插入图片描述

LocalDateTime

默认日期时间格式为yyyy-MM-ddTHH:mm:ss

    public static final DateTimeFormatter ISO_LOCAL_DATE;
    static {
        ISO_LOCAL_DATE = new DateTimeFormatterBuilder()
                .appendValue(YEAR, 4, 10, SignStyle.EXCEEDS_PAD)
                .appendLiteral('-')
                .appendValue(MONTH_OF_YEAR, 2)
                .appendLiteral('-')
                .appendValue(DAY_OF_MONTH, 2)
                .toFormatter(ResolverStyle.STRICT, IsoChronology.INSTANCE);
    }
    
    public static final DateTimeFormatter ISO_LOCAL_TIME;
    static {
        ISO_LOCAL_TIME = new DateTimeFormatterBuilder()
                .appendValue(HOUR_OF_DAY, 2)
                .appendLiteral(':')
                .appendValue(MINUTE_OF_HOUR, 2)
                .optionalStart()
                .appendLiteral(':')
                .appendValue(SECOND_OF_MINUTE, 2)
                .optionalStart()
                .appendFraction(NANO_OF_SECOND, 0, 9, true)
                .toFormatter(ResolverStyle.STRICT, null);
    }
    
    public static final DateTimeFormatter ISO_LOCAL_DATE_TIME;
    static {
        ISO_LOCAL_DATE_TIME = new DateTimeFormatterBuilder()
                .parseCaseInsensitive()
                .append(ISO_LOCAL_DATE)
                .appendLiteral('T')
                .append(ISO_LOCAL_TIME)
                .toFormatter(ResolverStyle.STRICT, IsoChronology.INSTANCE);
    }

案例说明

        LocalDateTime now = LocalDateTime.now();
        log.info("当前日期时间 now : [{}]" , now);

        LocalDateTime appointDateTime = LocalDateTime.of(2023, 8, 18, 15, 21, 33);
        log.info("创建指定日期时间 appointDateTime : [{}]" , appointDateTime);

        LocalDateTime parse = LocalDateTime.parse("2023-08-18T15:22:33");
        log.info("字符串转换日期 parse : [{}]" , parse);
        // 日期与时间加上T java.time.format.DateTimeParseException: Text '2023-08-18 15:22:33' could not be parsed at index 10
        
        String dateStr = String.valueOf(parse);
        log.info("日期转换字符串 dateStr : [{}]" , dateStr);

15:25:19.136 [main] INFO com.geekmice.springbootselfexercise.NoDaoTest - 当前日期时间 now : [2023-08-18T15:25:19.131]
15:25:19.145 [main] INFO com.geekmice.springbootselfexercise.NoDaoTest - 创建指定日期时间 appointDateTime : [2023-08-18T15:21:33]
15:25:19.180 [main] INFO com.geekmice.springbootselfexercise.NoDaoTest - 字符串转换日期 parse : [2023-08-18T15:22:33]
15:25:19.180 [main] INFO com.geekmice.springbootselfexercise.NoDaoTest - 日期转换字符串 dateStr : [2023-08-18T15:22:33]

在这里插入图片描述

三 实战

需求:查询根据条件查询数据库数据

入参

private LocalDateTime insertTime;

@Data
public class UserLocalDateParam {
    @DateTimeFormat(pattern = DateUtils.DATE_FORMAT_19)
    private LocalDateTime insertTime;
    private String userName;
}

出参

private LocalDateTime insertTime;
package com.geekmice.springbootselfexercise.domain;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelIgnore;
import com.alibaba.excel.util.DateUtils;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * (User)实体类
 *
 * @author pingmingbo
 * @since 2023-08-06 09:51:28
 */
@Data
@ApiModel
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "user")
public class UserDomain implements Serializable {
    private static final long serialVersionUID = 723356122339609354L;
    /**
     * 编号
     */
    @ApiModelProperty(value = "编号")
    @ExcelIgnore
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名")
    @Excel(name = "用户名")
    @TableField(value = "user_name")
    private String userName;
    /**
     * 生日
     */
    @ApiModelProperty(value = "生日")
    @Excel(name="生日",format = "yyyy-MM-dd")
    @TableField(value = "birthday")
    @JSONField(format = DateUtils.DATE_FORMAT_10)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime birthday;
    /**
     * 性别
     */
    @Excel(name = "性别")
    @ApiModelProperty(value = "性别")
    @TableField(value = "sex")
    private String sex;
    /**
     * 地址
     */
    @ApiModelProperty(value = "地址")
    @Excel(name = "地址")
    @TableField(value = "address")
    private String address;

    /**
     * 插入时间
     */
    @ApiModelProperty(value = "插入时间")
    @TableField(value = "insert_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime insertTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @TableField(value = "update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;


}

数据库字段说明

    <resultMap type="com.geekmice.springbootselfexercise.domain.UserDomain" id="UserMap">
        <result property="id" column="id" jdbcType="INTEGER"/>
        <result property="userName" column="user_name" jdbcType="VARCHAR"/>
        <result property="birthday" column="birthday" jdbcType="DATE"/>
        <result property="sex" column="sex" jdbcType="VARCHAR"/>
        <result property="address" column="address" jdbcType="VARCHAR"/>
        <result property="insertTime" column="insert_time" jdbcType="TIMESTAMP"/>
        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
    </resultMap>

业务代码

   @MethodExporter
    @GetMapping(value = "validLocalDate")
    public AjaxResult validLocalDate(@Valid UserLocalDateParam userLocalDateParam){
        List<UserDomain> result = userService.validLocalDate(userLocalDateParam);
        log.info("result : [{}]" , result);
        return AjaxResult.success(result);
    }
   @Override
    public List<UserDomain> validLocalDate(UserLocalDateParam userLocalDateParam) {
        LambdaQueryWrapper<UserDomain> lambda = new QueryWrapper<UserDomain>().lambda();
        LocalDateTime insertTime = userLocalDateParam.getInsertTime();
        String insertTimeStr = insertTime.toString();
        log.info("insertTimeStr : [{}]" , insertTimeStr);

        // LocalDateTime转换为LocalDate
        LocalDate userLocalDate = LocalDate.of(insertTime.getYear(), insertTime.getMonthValue(), insertTime.getDayOfMonth());
        log.info("userLocalDate : [{}]" , userLocalDate);

        // LocalDateTime 转换为 LocalTime
        LocalTime userLocalTime = LocalTime.of(insertTime.getHour(), insertTime.getMinute(), insertTime.getSecond());
        log.info("userLocalTime : [{}]" , userLocalTime);

        String userName = userLocalDateParam.getUserName();
        lambda.eq(UserDomain::getInsertTime,insertTime)
                .eq(UserDomain::getUserName,userName);
        List<UserDomain> result = userDao.selectList(lambda);
        return result;
    }

返回结果

{
  "msg": "操作成功",
  "code": 200,
  "data": [
    {
      "id": 1,
      "userName": "张1",
      "birthday": "2023-08-10 00:00:00",
      "sex": "男",
      "address": "123@163.com",
      "insertTime": "2023-08-17 02:00:00",
      "updateTime": "2023-08-17 22:19:43"
    }
  ]
}

四 问题汇总

问题一:字符串转换日期时候,关于日期中T问题解决

java.time.format.DateTimeParseException: Text ‘2023-08-1815:22:33’ could not be parsed at index 10
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
at java.time.LocalDateTime.parse(LocalDateTime.java:492)
at java.time.LocalDateTime.parse(LocalDateTime.java:477)
at com.geekmice.springbootselfexercise.NoDaoTest.testTransferDate(NoDaoTest.java:593)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner 2. e v a l u a t e ( P a r e n t R u n n e r . j a v a : 268 ) a t o r g . j u n i t . r u n n e r s . P a r e n t R u n n e r . r u n ( P a r e n t R u n n e r . j a v a : 363 ) a t o r g . j u n i t . r u n n e r . J U n i t C o r e . r u n ( J U n i t C o r e . j a v a : 137 ) a t c o m . i n t e l l i j . j u n i t 4. J U n i t 4 I d e a T e s t R u n n e r . s t a r t R u n n e r W i t h A r g s ( J U n i t 4 I d e a T e s t R u n n e r . j a v a : 68 ) a t c o m . i n t e l l i j . r t . j u n i t . I d e a T e s t R u n n e r 2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.junit.IdeaTestRunner 2.evaluate(ParentRunner.java:268)atorg.junit.runners.ParentRunner.run(ParentRunner.java:363)atorg.junit.runner.JUnitCore.run(JUnitCore.java:137)atcom.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)atcom.intellij.rt.junit.IdeaTestRunnerRepeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)

在这里插入图片描述
源码

LocalDateTime parse = LocalDateTime.parse("2023-08-18 15:22:33");
        log.info("字符串转换日期 parse : [{}]" , parse);

解决方案

// 加上T
LocalDateTime parse = LocalDateTime.parse("2023-08-18T15:22:33");
log.info("字符串转换日期 parse : [{}]" , parse);

// 指定格式
 LocalDateTime parse = LocalDateTime.parse("2023-08-18 15:22:33", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
log.info("字符串转换日期 parse : [{}]" , parse);

问题二 @JsonFormat@DateTimeFormat(pattern = DateUtils.DATE_FORMAT_19)格式化问题

@DateTimeFormat(pattern = DateUtils.DATE_FORMAT_19) 入参需要
@JsonFormat出参需要格式化
否则错误提示

{
“msg”: “Failed to convert property value of type ‘java.lang.String’ to required type ‘java.time.LocalDateTime’ for property ‘insertTime’; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.time.LocalDateTime] for value ‘2023-08-17 02:00:00’; nested exception is java.lang.IllegalArgumentException: Parse attempt failed for value [2023-08-17 02:00:00];”,
“code”: 500
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/894580.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UE4/5Niagara粒子特效之拖尾渐变

目录 开始操作 发射器一的制作 添加新的模块 ​编辑 让粒子长久存在 添加颜色 发射器二的制作 第三人称模板添加Niagara 效果 添加颜色 效果 隐藏第一个发射器 开始操作 首先创建一个粒子系统&#xff0c;用Fountain这个模板&#xff1a; 发射器一的制作 将不需要的…

vue上传图片并修改png图片颜色

场景 当涉及到在 Vue 中上传图片并修改 PNG 图片的颜色时&#xff0c;这个任务涵盖了文件上传、图像处理、Canvas 操作等多个方面 在现代 Web 开发中&#xff0c;图片的处理是常见的需求之一。本文将带您深入探讨如何使用 Vue.js 来实现图片上传&#xff0c;并在客户端使用 Can…

奖金丰厚 等你来拿!第六届开源创新大赛飞桨赛道下半场来啦

最近想要充个电&#x1f50b; 飞桨邀你开启开源贡献之旅 寻找那个最“会”的你 顶级开源项目、资深研发指导 高阶开发者合作交流 Buff 叠满&#xff01; 技能提升、丰富简历、高额奖金 你还不心动&#xff1f; 赛事简介 中国软件开源创新大赛已成功举办五届&#xff…

国企数字化办公实践: 泛微助力中国港湾用OA实现营销数字化管理

中国港湾工程有限责任公司(CHEC)成立于上世纪80年代&#xff0c;是世界500强企业中国交通建设股份有限公司(CCCC)的子公司&#xff0c;代表中国交建开拓海外市场。 目前&#xff0c;中国港湾在世界各地设有90多个分(子)公司和办事处&#xff0c;业务涵盖100多个国家和地区&…

网络游戏同步:状态同步核心原理剖析

状态同步是做网络游戏必然要掌握的一种服务端/客户端同步技术。什么是状态同步&#xff0c;具体到游戏中是如何实现的&#xff0c;带着这些问题本文将会从以下3个方面給大家详细的剖析状态同步。 对啦&#xff01;这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小…

【正点原子STM32连载】第十三章 按键输入实验 摘自【正点原子】APM32F407最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html# 第十…

高忆管理:低位缩量上涨说明什么?

在股票商场中&#xff0c;股票价格在低位缩量上涨是一种常见的走势。那么&#xff0c;低位缩量上涨究竟阐明了什么&#xff1f;本篇文章将从多个角度剖析&#xff0c;并给出全文摘要和3个关键词。 一、什么是低位缩量上涨&#xff1f; 低位缩量上涨是指股票价格在前期低点的邻…

jenkins同一jar包部署到多台服务器

文章目录 安装插件配置ssh服务构建完成后执行 没有部署过可以跟这个下面的步骤先部署一遍&#xff0c;我这篇主要讲jenkins同一jar包部署到多台服务器 【Jenkins】部署Springboot项目https://blog.csdn.net/qq_39017153/article/details/131901613 安装插件 Publish Over SSH 这…

angular中如何定义一个全局组件?

需求&#xff0c;我们需要新建一个navBreadcrumb的全局组件。这是一个面包屑导航&#xff0c;在不同的页面引入时传入一个路由数组即可。 第一步&#xff1a;我们新建这个组件&#xff1a; ng g c navBreadcrumb ng g m navBreadcrumb----------nav-breadcrumb.module-------…

文件和目录的基础操作

cat命令 concatenate(连接)的缩写&#xff0c;即 combine pieces together 1&#xff09;把碎片组合在一起&#xff08;意味着可以使用cat创建一个小文件&#xff09; 2&#xff09;显示文件 ──(root㉿kali)-[~] └─# cat /etc/resolv.conf # Generated by NetworkManager…

数字孪生和SCADA有哪些区别?

虽然SCADA和数字孪生用于工业领域&#xff0c;但它们有不同的用途。SCADA专注于工业过程的实时监测和控制&#xff0c;而数字孪生用于模拟和分析系统的性能。接下来&#xff0c;让我们详细讨论SCADA和数字孪生&#xff08;SCADA与数字孪生&#xff09;之间的区别。 SCADA与数字…

Python Opencv实践 - 图像仿射变换

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR) rows,cols img.shape[:2] print(img.shape[:2])#使用getAffineTransform来获得仿射变换的矩阵M #cv.getAffineTransform(…

Java项目-苍穹外卖-Day04

公共字段自动填充 这些字段在每张表基本都有&#xff0c;手动进行填充效率低&#xff0c;且后期维护更改繁琐 使用到注解AOP主要 先答应一个AutoFill注解 再定义一个切面类进行通知 对应代码 用到了枚举类和反射 package com.sky.aspect; /*** 自定义切面类&#xff0c…

信创办公–基于WPS的EXCEL最佳实践系列 (公式和函数)

信创办公–基于WPS的EXCEL最佳实践系列 &#xff08;公式和函数&#xff09; 目录 应用背景相关知识操作步骤1、认识基本的初级函数2、相对引用&#xff0c;绝对引用&#xff0c;混合引用3、统计函数4、文本函数 应用背景 熟练掌握Excel的函数工具能让我们在日常的使用中更加方…

8.深浅拷贝和异常处理

开发中我们经常需要复制一个对象。如果直接用赋值会有下面问题: 8.1 浅拷贝 首先浅拷贝和深拷贝只针对引用类型 浅拷贝&#xff1a;拷贝的是地址 常见方法: 1.拷贝对象&#xff1a;Object.assgin() / 展开运算符{…obj} 拷贝对象 2.拷贝数组&#xff1a;Array.prototype.con…

【小胡同志】我的创作纪念日——暨加入CSDN128天留念!

2023年4月12日&#xff0c;我首次加入CSDN这个创作大集体&#xff0c;大家庭&#xff01;实属荣幸&#xff0c;倍感荣耀&#xff01;在此之前&#xff0c;就曾听说&#xff0c;CSDN是中国开发者的摇篮&#xff0c;今日之悟&#xff0c;确有名之所属之感&#xff01; 机缘 128天…

完美解决微信小程序使用复选框van-checkbox无法选中

由于小程序使用了vant-ui框架&#xff0c;导致checkbox点击无法选中问题 <van-checkbox value"{{ checked }}" shape"square"><view class"check-content"><view class"checktext">我已阅读并同意>《用户协议》…

中文医学知识语言模型:BenTsao

介绍 BenTsao&#xff1a;[原名&#xff1a;华驼(HuaTuo)]: 基于中文医学知识的大语言模型指令微调 本项目开源了经过中文医学指令精调/指令微调(Instruction-tuning) 的大语言模型集&#xff0c;包括LLaMA、Alpaca-Chinese、Bloom、活字模型等。 我们基于医学知识图谱以及医…

从其他地方复制的内容无法粘贴到idea中

问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1a; 使用 idea 开发的时候&#xff0c;从其他地方复制的内容无法粘贴到 idea中&#xff0c;idea的版本是 2023.2 解决方案&#xff1a; 提示&#xff1a;这里填写该问题的具体解决方案&#xff1a; 网上查找资料…

文末有福利 | 小海小源表情包第一弹正式上线

手机铃声提醒你有新的消息 抓紧打个招呼“来了” 收到暖心的称赞 真是按捺不住激动的小心脏啊 只要你愿意拿起书 知识的大门将为你敞开 呲溜~ 这是不是像极了努力工作一天后下班的你&#xff1f; 。。。。。。 看了这么多“海源”表情包 是不是觉得小海、小源愈发可爱了呢…