获得某天最大时间 23:59:59 最小时间 00:00:00

import java.text.SimpleDateFormat;  
import java.time.Instant;  
import java.time.LocalDateTime;  
import java.time.LocalTime;  
import java.time.ZoneId;  
import java.util.Date;  

public class GetMaxMinTime {  
    public static void main(String[] args) {  
        Date date = new Date();  

        System.out.println("今天开始时间:" + getStartOfDay(date));  
        System.out.println("今天结束时间:" + getEndOfDay(date));  

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  

        System.out.println(sdf.format(getStartOfDay(date)));  
        System.out.println(sdf.format(getEndOfDay(date)));  

    }  

    // 获得某天最大时间 2020-10-09 23:59:59  
    public static Date getEndOfDay(Date date) {  
        LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()), ZoneId.systemDefault());;  
        LocalDateTime endOfDay = localDateTime.with(LocalTime.MAX);  
        return Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());  
    }  

    // 获得某天最小时间 2020-10-09 00:00:00  
    public static Date getStartOfDay(Date date) {  
        LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()), ZoneId.systemDefault());  
        LocalDateTime startOfDay = localDateTime.with(LocalTime.MIN);  
        return Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant());  
    }  

}  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学的角度来看,这是一个人力资源调配问题。我们需要在保证服务质量的前提下,最小化人力成本。 | 时间段 | 8:00-9:00 | 9:00-10:00 | 10:00-11:00 | 11:00-12:00 | 12:00-13:00 | 13:00-14:00 | 14:00-15:00 | 15:00-16:00 | 16:00-17:00 | 17:00-18:00 | 18:00-19:00 | 19:00-20:00 | 20:00-21:00 | 21:00-22:00 | | ------ | --------- | ---------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | | 需求量 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 9 | 8 | 7 | 6 | 5 | 我们可以通过建立数学模型来解决这个问题。假设每个员工每小时的工资为w元,每个员工每天工作的最大小时数为h,我们需要确定每个时间段需要多少个员工,才能满足需求,同时最小化成本。 设第i个时间段需要xi个员工,则成本可以表示为: C = w * h * (x1 + x2 + ... + x15) 其中h为每个员工每天工作的最大小时数,15是一天中的时间段数。 为了满足需求,我们需要满足以下约束条件: 1. 每个时间段的员工数量必须大于等于需求量: x1 ≥ 2 x2 ≥ 3 x3 ≥ 4 ... x15 ≥ 5 2. 每个员工一天的工作时间不能超过h小时: x1 * 1 + x2 * 1 + x3 * 1 + ... + x15 * 1 ≤ h x1 * 1 + x2 * 1 + x3 * 1 + ... + x15 * 1 ≤ h ... x1 * 1 + x2 * 1 + x3 * 1 + ... + x15 * 1 ≤ h 3. 每个时间段需要的员工数量必须为整数: x1, x2, x3, ..., x15是整数 将以上约束条件和目标函数组合在一起,可以得到一个整数线性规划问题。可以使用线性规划求解器来求解,得到最小成本和每个时间段需要的员工数量。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值