2020-12-24 003

public class LocalDateTimeUtils {
 
    //获取当前时间的LocalDateTime对象
    //LocalDateTime.now();
 
    //根据年月日构建LocalDateTime
    //LocalDateTime.of();
 
    //比较日期先后
    //LocalDateTime.now().isBefore(),
    //LocalDateTime.now().isAfter(),
 
    //Date转换为LocalDateTime
    public static LocalDateTime convertDateToLDT(Date date) {
        return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
    }
 
    //LocalDateTime转换为Date
    public static Date convertLDTToDate(LocalDateTime time) {
        return Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
    }
 
 
    //获取指定日期的毫秒
    public static Long getMilliByTime(LocalDateTime time) {
        return time.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
    }
    //获取指定日期的秒
    public static Long getSecondsByTime(LocalDateTime time) {
        return time.atZone(ZoneId.systemDefault()).toInstant().getEpochSecond();
    }
 
    //获取指定时间的指定格式
    public static String formatTime(LocalDateTime time,String pattern) {
        return time.format(DateTimeFormatter.ofPattern(pattern));
    }
 
    //获取当前时间的指定格式
    public static String formatNow(String pattern) {
        return  formatTime(LocalDateTime.now(), pattern);
    }
 
    //日期加上一个数,根据field不同加不同值,field为ChronoUnit.*
    public static LocalDateTime plus(LocalDateTime time, long number, TemporalUnit field) {
        return time.plus(number, field);
    }
 
    //日期减去一个数,根据field不同减不同值,field参数为ChronoUnit.*
    public static LocalDateTime minu(LocalDateTime time, long number, TemporalUnit field){
        return time.minus(number,field);
    }
 
    /**
     * 获取两个日期的差  field参数为ChronoUnit.*
     * @param startTime
     * @param endTime
     * @param field  单位(年月日时分秒)
     * @return
     */
    public static long betweenTwoTime(LocalDateTime startTime, LocalDateTime endTime, ChronoUnit field) {
        Period period = Period.between(LocalDate.from(startTime), LocalDate.from(endTime));
        if (field == ChronoUnit.YEARS) return period.getYears();
        if (field == ChronoUnit.MONTHS) return period.getYears() * 12 + period.getMonths();
        return field.between(startTime, endTime);
    }
 
    //获取一天的开始时间,2017,7,22 00:00
    public static LocalDateTime getDayStart(LocalDateTime time) {
        return time.withHour(0)
                .withMinute(0)
                .withSecond(0)
                .withNano(0);
    }
 
    //获取一天的结束时间,2017,7,22 23:59:59.999999999
    public static LocalDateTime getDayEnd(LocalDateTime time) {
        return time.withHour(23)
                .withMinute(59)
                .withSecond(59)
                .withNano(999999999);
    }
 
}

 

-- 附:本书中常用的数据库teaching中的表结构和表记录。 -- 创建学生信息表student表 create table if not exists student ( studentno char(11) not null comment'学号', sname char(8) not null comment'姓名', sex enum('男', '女') default '男' comment'性别', birthdate date not null comment'出生日期', entrance int(3) null comment'入学成绩', phone varchar(12) not null comment'电话', Email varchar(20) not null comment'电子信箱', primary key (studentno) ); -- 插入数据到学生信息表student表 insert into student values ('20112100072','许东方','男','2002/2/4',658,'12545678998','su12@163.com' ) , ('20112111208','韩吟秋','女','2002/2/14',666,'15878945612','han@163.com'), ('20120203567','封白玫','女','2003/9/9', 898,'13245674564','feng@126.com'), ('20120210009','崔舟帆','男','2002/11/5',789,'13623456778','cui@163.com'), ('20123567897','赵雨思','女','2003/8/4', 879,'13175689345','pingan@163.com'), ('20125121109','梁一苇','女','2002/9/3', 777,'13145678921','bing@126.com'), ('20126113307','姚扶嵋','女','2003/9/7', 787,'13245678543','zhu@163.com'), ('21125111109','敬秉辰','男','2004/3/1', 789,'15678945623','jing@sina.com'), ('21125221327','何桐影','女','2004/12/4',879,'13178978999','he@sina.com'), ('21131133071','崔依歌','男','2002/6/6', 787,'15556845645','cui@126.com'), ('21135222201','夏文斐','女','2005/10/6',867,'15978945645','xia@163.com'), ('21137221508','赵临江','男','2005/2/13',789,'12367823453','ping@163.com'); -- 创建课程信息表course create table if not exists course ( courseno char(6) not null, cname char(6) not null, type char(8) not null, period int(2) not null, exp int(2) not null, term int(2) not null, primary key (courseno) ); -- 插入数据到课程信息表course INSERT into course values ('c05103','电子技术','必修','64','16','2'), ('c05109','C语言','必修','48','16','2'), ('c05127','数据结构','必修','64','16','2'), ('c05138','软件工程','选修','48','8','5'), ('c06108','机械制图','必修','60','8','2'), ('c06127','机械设计','必修','64','8','3'), ('c06172','铸造工艺','选修','42', '16','6'), ('c08106','经济法','必修','48','0','7'), ('c08123','金融学','必修','40','0','5'), ('c08171','会计软件','选修','32','8','8'); -- 创建学生分数表score。 create table if not exists score ( studentno char(11) not null, courseno char(6) not null, daily float(4,1) default 0, final float(4,1) default 0, primary key (studentno , courseno) ); -- 插入数据到分数表score INSERT INTO score (studentno, courseno, daily, final) VALUES ('20112100072', 'c05103', 99, 92), ('20120203567', 'c05103', 78, 67), ('20120210009', 'c05103', 65, 98), ('20125121109', 'c05103', 88, 79), ('21125111109', 'c05103', 96, 97), ('21137221508', 'c05103', 77, 92), ('20112100072', 'c05109', 95, 82), ('20120203567', 'c05109', 87, 86), ('20125121109', 'c05109', 77, 82), ('20126113307', 'c05109', 89, 95), ('21125111109', 'c05109', 87, 82), ('21125221327', 'c05109', 89, 95), ('20120210009', 'c05138', 88, 89), ('21137221508', 'c05138', 74, 91), ('20112111208', 'c06108', 77, 82), ('20120210009', 'c06108', 79, 88), ('20123567897', 'c06108', 99, 99), ('20126113307', 'c06108', 78, 67), ('20112111208', 'c06127', 85, 91), ('20120203567', 'c06127', 97, 97), ('20112111208', 'c06172', 89, 95), ('21125221327', 'c06172', 88, 62), ('21131133071', 'c06172', 78, 95), ('21125111109', 'c08106', 77, 91), ('21135222201', 'c08106', 91, 77), ('21137221508', 'c08106', 89, 62), ('21131133071', 'c08123', 78, 89), ('21135222201', 'c08123', 79, 99), ('20112100072', 'c08171', 82, 69), ('20125121109', 'c08171', 85, 91), ('21131133071', 'c08171', 88, 98), ('21135222201', 'c08171', 85, 92); -- 创建教师信息表teacher create table if not exists teacher ( teacherno char(6) not null comment '教师编号', tname char(8) not null comment'教师姓名', major char(10) not null comment '专业', prof char(10) not null comment '职称', department char(16) not null comment '部门', primary key (teacherno) ); -- 插入数据到教师信息表teacher insert into teacher values ('t05001', '苏超然', '软件工程', '教授', '计算机学院'), ('t05002', '常可观', '会计学', '助教', '管理学院'), ('t05003', '孙释安', '网络安全', '教授', '计算机学院'), ('t05011', '卢敖治', '软件工程', '副教授','计算机学院'), ('t05017', '茅佳峰', '软件测试', '讲师', '计算机学院'), ('t06011', '夏期年', '机械制造', '教授', '机械学院'), ('t06023', '卢释舟', '铸造工艺', '副教授','机械学院'), ('t07019', '韩庭宇', '经济管理', '讲师', '管理学院'), ('t08017', '白成园', '金融管理', '副教授','管理学院'), ('t08058', '孙有存', '数据科学', '副教授','计算机学院'); -- 创建纽带表teach_course。 create table if not exists teach_course ( teacherno char(6) not null, courseno char(6) not null, primary key (teacherno,courseno) ); -- 插入数据到纽带表teach_course INSERT INTO teach_course (teacherno, courseno) VALUES ('t05001', 'c05103'), ('t05002', 'c05109'), ('t05003', 'c05127'), ('t05011', 'c05138'), ('t05017', 'c06108'), ('t05017', 'c06172'), ('t06011', 'c06127'), ('t06023', 'c05127'), ('t06023', 'c06172'), ('t07019', 'c08106'), ('t08017', 'c08123'), ('t08058', 'c08171'); -- 创建选课信息表se_course create table se_course (sc_no int(6) not null auto_increment, studentno char(11) not null, courseno char(6) not null, teacherno char(6) not null, score int(3) null, sc_time timestamp not null default now(), primary key (sc_no) ); -- 插入数据到选课信息表se_course INSERT INTO se_course (sc_no, studentno, courseno, teacherno, score, sc_time) VALUES (1, '21125111109', 'c06172', 't05017', NULL, '2020-12-09 18:33:45'), (2, '20120210009', 'c06108', 't06023', NULL, '2020-12-24 18:30:15'), (3, '20123567897', 't01239', 't05003', NULL, '2020-12-26 18:09:09');
最新发布
05-14
### 数据库 `teaching` 表结构定义 以下是数据库 `teaching` 中各表的结构定义及其初始化数据的 SQL 语句。 #### 1. 学生表 (`student`) 学生表存储学生的个人信息,包括学号、姓名和性别。 ```sql CREATE TABLE student ( studentno VARCHAR(10) PRIMARY KEY, sname NVARCHAR(50) NOT NULL, sex CHAR(2) NOT NULL ); ``` 插入初始数据: ```sql INSERT INTO student (studentno, sname, sex) VALUES ('18001', '张三', '男'); INSERT INTO student (studentno, sname, sex) VALUES ('18002', '李四', '女'); INSERT INTO student (studentno, sname, sex) VALUES ('19001', '王五', '男'); ``` --- #### 2. 课程表 (`course`) 课程表存储课程的信息,包括课程编号、名称和学分。 ```sql CREATE TABLE course ( courseno VARCHAR(10) PRIMARY KEY, cname NVARCHAR(50) NOT NULL, credit INT NOT NULL ); ``` 插入初始数据: ```sql INSERT INTO course (courseno, cname, credit) VALUES ('C001', '高等数学', 4); INSERT INTO course (courseno, cname, credit) VALUES ('C002', '大学英语', 3); INSERT INTO course (courseno, cname, credit) VALUES ('C003', '计算机基础', 2); ``` --- #### 3. 成绩表 (`score`) 成绩表记录学生选课的成绩信息,关联学生表和课程表。 ```sql CREATE TABLE score ( studentno VARCHAR(10), courseno VARCHAR(10), grade DECIMAL(5, 2), PRIMARY KEY (studentno, courseno), FOREIGN KEY (studentno) REFERENCES student(studentno), FOREIGN KEY (courseno) REFERENCES course(courseno) ); ``` 插入初始数据: ```sql INSERT INTO score (studentno, courseno, grade) VALUES ('18001', 'C001', 85.5); INSERT INTO score (studentno, courseno, grade) VALUES ('18001', 'C002', 78.0); INSERT INTO score (studentno, courseno, grade) VALUES ('18002', 'C001', 90.0); ``` --- #### 4. 教师表 (`teacher`) 教师表存储教师的基本信息,包括工号、姓名和职称。 ```sql CREATE TABLE teacher ( teacherno VARCHAR(10) PRIMARY KEY, tname NVARCHAR(50) NOT NULL, title NVARCHAR(20) NOT NULL ); ``` 插入初始数据: ```sql INSERT INTO teacher (teacherno, tname, title) VALUES ('T001', '刘老师', '教授'); INSERT INTO teacher (teacherno, tname, title) VALUES ('T002', '陈老师', '副教授'); ``` --- #### 5. 授课表 (`teach_course`) 授课表记录每位教师所授课程的关系,关联教师表和课程表。 ```sql CREATE TABLE teach_course ( teacherno VARCHAR(10), courseno VARCHAR(10), PRIMARY KEY (teacherno, courseno), FOREIGN KEY (teacherno) REFERENCES teacher(teacherno), FOREIGN KEY (courseno) REFERENCES course(courseno) ); ``` 插入初始数据: ```sql INSERT INTO teach_course (teacherno, courseno) VALUES ('T001', 'C001'); INSERT INTO teach_course (teacherno, courseno) VALUES ('T002', 'C002'); ``` --- #### 6. 社会实践课程表 (`se_course`) 社会实践课程表专门用于记录社会实践活动的相关信息,包括活动编号、名称和时间。 ```sql CREATE TABLE se_course ( secourseno VARCHAR(10) PRIMARY KEY, sename NVARCHAR(50) NOT NULL, stime DATE NOT NULL ); ``` 插入初始数据: ```sql INSERT INTO se_course (secourseno, sename, stime) VALUES ('SE001', '志愿者服务', '2023-01-01'); INSERT INTO se_course (secourseno, sename, stime) VALUES ('SE002', '环保行动', '2023-02-15'); ``` --- 以上是数据库 `teaching` 的六个主要表的结构定义及初始化数据的 SQL 语句[^1]。这些表之间通过外键建立了逻辑上的联系,便于后续查询操作[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值