首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP或SQL在日期之前3个工作日计算

PHP和SQL在日期之前3个工作日计算的方法如下:

  1. PHP计算方法:
    • 首先,使用PHP的日期函数strtotime()将日期字符串转换为时间戳。
    • 然后,使用PHP的日期函数date()将时间戳转换为指定格式的日期字符串。
    • 接下来,使用PHP的日期函数strtotime()将计算得到的日期字符串再次转换为时间戳。
    • 最后,使用PHP的日期函数date()将时间戳转换为指定格式的日期字符串,即所需的结果。

示例代码如下:

代码语言:php
复制

$date = '2022-01-01'; // 输入的日期

$timestamp = strtotime($date);

$newTimestamp = strtotime('-3 weekdays', $timestamp);

$result = date('Y-m-d', $newTimestamp);

echo $result;

代码语言:txt
复制

结果将输出日期之前3个工作日的日期。

  1. SQL计算方法:
    • 首先,使用SQL的日期函数DATE_SUB()将日期减去3天。
    • 然后,使用SQL的日期函数DAYOFWEEK()获取计算得到的日期是星期几。
    • 接下来,使用SQL的条件判断语句,如果计算得到的日期是周六或周日,则再次使用DATE_SUB()将日期减去2天。
    • 最后,得到所需的结果。

示例代码如下(以MySQL为例):

代码语言:sql
复制

SELECT

代码语言:txt
复制
   CASE WHEN DAYOFWEEK(DATE_SUB('2022-01-01', INTERVAL 3 DAY)) IN (1, 7)
代码语言:txt
复制
        THEN DATE_SUB(DATE_SUB('2022-01-01', INTERVAL 3 DAY), INTERVAL 2 DAY)
代码语言:txt
复制
        ELSE DATE_SUB('2022-01-01', INTERVAL 3 DAY)
代码语言:txt
复制
   END AS result;
代码语言:txt
复制

结果将输出日期之前3个工作日的日期。

以上是PHP和SQL在日期之前3个工作日计算的方法。这种计算方法适用于需要在业务逻辑中处理日期的场景,比如计算工作日、工作日加减等。腾讯云提供了多种云计算产品,例如云服务器、云数据库、云函数等,可以帮助开发者构建和部署各类应用。具体产品信息和介绍可以参考腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python生成中国节假日工作表,快速给数据库内生成工作日

有时候,我们处理一些业务,比如:计算员工请假的时间工作日;就需要数据库内存在一张工作日历,记录调休和节假日。实际上,是有很多的公共接口。...使其生成SQL脚本。数据库设计既然需要一张表来存储工作日历,那么数据库的表应该如何设计?...因为需要一次性生成一年的工作日历,所以我们需要先获取一年的数据日期,之后遍历数据日期,使用LKI/chinese-calendar去解析每次的数据日期,将返回的结果包转为CSV或者拼接SQL。..."YYYY-MM-DD"格式添加到数组中 now += delta # 增加日期增量 return days # 返回日期数组日期类型项目的代码内,我们知道LKI/chinese-calendar...返回的都是TrueFasle,比如:calendar.is_workday(date)。

55611

TimeHelper 轻量级PHP日期时间类库

TimeHelper 是一个简单易用的PHP时间日期助手类库,可以快速实现常用的时间日期操作,比如获取指定时间的秒数,获取友好的时间格式,判断时间范围,计算两个时间相差值,返回N小时/天/星期/月/年前或者后的时间戳等等...获取需要的秒数 一般用于设置缓存时间,设置结束时间等 //返回到今天晚上零点之前的秒数 TimeHelper::secondEndToday(); //返回N分钟的秒数(默认为1分钟) TimeHelper...计算两个时间相差值 如果只传入一个参数,则与当前时间比较 //计算两个日期相差天数 TimeHelper::diffDays('2022-4-10 23:01:11','Apr 11, 2020');...//计算两个日期相差周数 TimeHelper::diffWeeks('2022-4-10 23:01:11'); //计算两个日期相差月数 TimeHelper::diffMonths(1586451741...\ChinaHoliday; //判断指定日期是否为国内的工作日 ChinaHoliday::isWorkday('2023-01-23'); //判断指定日期是否为国内的节假日 ChinaHoliday

19810
  • ThinkPHP中获取指定日期工作日的具体日期方法

    思路: 1、获取到查询年份内所有工作日数据数组 2、获取到查询开始日期工作日的索引 3、计算需查询日期索引 4、获得查询日期 /*创建日期类型记录表格*/ CREATE TABLE `tb_workday...tinyint(2) NOT NULL COMMENT '日期类型:0、工作日;1、特殊工作日;2、法定节假日', PRIMARY KEY (`did`) ) ENGINE=InnoDB AUTO_INCREMENT...php class work_days { /** * 获取星期 * @param $date * @return mixed */ function get_week($date) { //强制转换日期格式...($startdate, $enddate) { $stimestamp = strtotime($startdate); $etimestamp = strtotime($enddate); // 计算日期段内有多少天...N个工作日具体日期 * @param $startdate string 计算开始日期 需包含年月日信息 * @param $days int 间隔天数 * @return mixed 成功返回 对应日期

    1.9K20

    盘一盘 Python 特别篇 19 - 天数计数|年限

    金融产品估值时,细节最多的就是如何生成日期和年限了,最核心的细节如下: 支付日通常不会落在周末和公共假期上,如落到,那么根据“顺延”“修正顺延”到后一个工作日,或者“提前”“修正提前”到前一个工作日...工作日惯例解决这个问题。 两个日期之间的计数有对相应的惯例,比如“Actual/365”计算的天数就是两个日期之间实际的天数,而30/360“”有着特殊的算法。 日期计数惯例解决这个问题。...年份用具体四个数字标示的指的这个具体的日期是公众假期。 工作日惯例就是通过一些不同规定把一个非工作日调整到一个工作日 (非周末且非公众假期) 上。 1....例子:2016年12月15日 (星期四) 一个月后是 2017年1月15日 (星期天),调整成前一天工作日是 2017年1月13日 (星期五)。此惯例常用在贷款,因此付款通常定在某一天之前。...其中 freq 是每年付息次数,而 adj 是根据第一个最后一个票息是短票息长票息决定的 (四种类型,起始短票息,起始长票息,结束短票息和结束长票息)。 4.

    1.5K20

    一次工作日的获取技巧记录

    一次工作日的获取技巧记录 前言 工作日的获取还是比较常见的,比如银行和跨境电商的交易,有时候在教育的行业也会有用到,由于我们不知道每一年那一天是节假日,有时候涉及调休等等又要上班比较麻烦,所以这里干脆做一次记录...注意,本文使用的是「PostgreSql数据库」,使用其他的数据库需要略微的修改sql的内容。 日期表的设计 日期表的设计不是固定的,下面的内容其实都是供参考使用。...由于个人使用的经验也不是十分丰富,所以这里记录个人最近接触到的一个使用案例,下面的案例是使用row_number()来获取多少个日之前工作日,根据下面的sql语句我们可以轻松完成多少个日之前工作日...,默认会按照当前的日期作为分水岭,如果在当天之前日期,「则为负数」,如果是当前天数之后的内容,「则为正数」。...-1,后一天工作日为+1等等的内容。

    74120

    高级SQL查询技巧——利用SQL改善和增强你的数据

    关系数据库系统和混合/云数据管理解决方案的用户都可以使用SQL灵活地访问业务数据,并以创新的方式进行转换显示。...这是我构建复杂的管道时学到的一些技巧,这些技巧使我的工作轻松而有趣。 一、计算滚动平均 使用时间序列数据时,为观察值计算滚动平均值附加历史值可能会有所帮助。...我可能想包括7天移动平均线,附上上周出售的工作日小部件,以查看业务与上周相比的表现。我可以通过将数据集连接到自身上,并使用日期列上的操作来选择单个值观察范围来做到这一点。...在下面的示例中,如果表B的值表A上当前观察日期的前7天之内,我们可以将这些销售量相加并除以7,以获得表A的每一行的每周滚动平均值: select a.date , a.total_widgets_sold...下面的示例将表B联接到表A上,以将日期回溯7天以获取前一个工作日的小部件销售: select a.date , a.total_widgets_sold , b.total_widgets_sold

    5.8K30

    Java8中时间API

    )/minusYears()/minusHours() 从当前对象减去几月、几周、几天、几年、几小时 plus(TemporalAmount t)/minus(TemporalAmount t) 添加减少一个...Duration Period isBefore()/isAfter() 比较两个 LocalDate isLeapYear() 判断是否是闰年(LocalDate类中声明) format(DateTimeFormatter...:ZondId和ZonedDateTime ZoneId:该类中包含了所有的时区信息,一个时区的ID,如 Europe/Paris ZonedDateTime:一个ISO-8601日历系统时区的日期时间.../时间:Period和Duration 持续时间:Duration,用于计算两个“时间”间隔 日期间隔:Period,用于计算两个“日期”间隔 public class TestPeriodDuration...有时我们可能需要获取例如:将日期调整到“下一个工作日”等操作。

    89160

    你需要的Excel常用函数都在这里!

    start_date 之前之后的月份数。 months 为正值将生成未来日期;为负值将生成过去日期。 如果 months 不是整数,将截尾取整。...星期四) 16 数字 1(星期六)到数字 7(星期五) 17 数字 1(星期日)到 7(星期六) WORKDAY() WORKDAY(start_date, days, [holidays]) 返回起始日期之前之后...工作日不包括周末和专门指定的假日。计算发票到期日、预期交货时间或工作天数时,可以使用函数 WORKDAY 来扣除周末假日。 start_date 必需。开始日期。 days 必需。...start_date之前之后不含周末及节假日的天数。 days 为正值将生成未来日期;为负值生成过去日期。 holidays 可选。...使用函数 EDATE 可以计算与发行日处于一月中同一天的到期日的日期。 start_date 必需。开始日期。 months 必需。start_date之前之后的月份数。

    4K32

    6个日期时间常见问题总结 | Power Query实战

    获取当前时间,可以使用函数:DateTime.LocalNow()DateTime.FixedLocalNow() 获取当天日期,需要在当前时间上用Date.From函数来实现: 二、如何计算两个日期的间隔时长...Power Query里,时间往前/后推1个月,可以使用函数:Date.AddMonths,用法跟Excel里的EDATE完全一样,如下图所示: 而往前(往后)推多少年,除了转换为多少个月,Power...经常有朋友问怎么计算两个日期间的工作日问题,本来,对于简单的计数问题,总不会复杂到什么程度,但是,对于这个问题,我通常会说,先确定你的工作日历表,也就是说,先定义好哪些算工作日,哪些算假期——因为每个公司都不一样...很多问题上,没有现成的函数时,就要考虑用最基础的算法去实现它。 实际工作中,我是从来没见过不需要处理特殊日期的!那么,如果有专门的假期表,该怎么算工作日?...样子大概如下: 这种情况下,计算主要就是对日历表进行筛选然后计数: 总结 实际工作中关于日期及其相关计算的问题,通常都有很多特殊的情况需要处理,比如这个例子中的特殊假期,还有其他的如年假天数计算等等

    7.9K20

    Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化

    理解日期时间和时间差 我们完全理解Python中的时间序列分析之前,了解瞬时、持续时间和时间段的差异非常重要。...两个日期、datetimes times 之间的最小差值 日期/日期时间 object.year 返回年份 object.month 返回月份(1 - 12) object.day 返回日期(...别名 别名 描述 B 工作日频率 C 定制的工作日频率 D 日历日频率 W 周频率 M 月底频率 SM 半月末频率(每月15日和月末) BM 工作日月末频率 CBM 定制的工作日月末频率 MS 月初频率...交易中的一个典型例子是使用50天和200天的移动平均线来买入和卖出资产。 让我们计算苹果公司的这些指标。请注意,计算滚动均值之前,我们需要有50天的数据。...一个平稳的时间序列中,时间序列的均值和标准差是恒定的。此外,没有季节性、周期性其他与时间相关的结构。通常首先查看时间序列是否平稳,以更容易理解。

    63900

    计算工作日,反正我从来没见过不需要处理特殊日期的!

    经常有朋友问怎么计算两个日期间的工作日问题,本来,对于简单的计数问题,总不会复杂到什么程度,但是,对于这个问题,我通常会说,先确定你的工作日历表,也就是说,先定义好哪些算工作日,哪些算假期—...直接上公式: 其中,d = {Number.From([开始日期])..Number.From([结束日期])},即根据起止日期转换为数值后生成相应的区间序列(关于生成日期数值区间的方法有很多...很多问题上,没有现成的函数时,就要考虑用最基础的算法去实现它。 - 2 - 如标题所说,实际工作中,我是从来没见过不需要处理特殊日期的!...这种情况下,一般来说,应该有一个参与计算的完整的日历表,其中标明了哪些是工作日,哪些是假期——对于很多比较完整的企业数据模型来说,这种完整的日历表应该是比较好的解决方案(如果没有,建议建一个)。...- 总结 - 实际工作中关于日期及其相关计算的问题,通常都有很多特殊的情况需要处理,比如这个例子中的特殊假期,还有其他的如年假天数计算等等,每个企业都有自己特定的计算方法,大多数情况下都需要回到比较基础的算法来实现

    85530

    SQL日期函数

    引言: SQL 中,日期函数具有多种重要作用: 1. 数据筛选和查询: 可以根据特定的日期范围来获取所需的数据。例如,通过 BETWEEN 操作符和日期函数,筛选出在某个时间段内的订单记录。...计算日期之间的差值,比如计算两个日期之间的天数、月数年数。 3. 数据验证和约束: 插入更新数据时,使用日期函数来验证输入的日期是否合法。 4....接下来就为大家介绍几种SQL中常用的日期函数: 一:获取日期时间函数 1.1获取当前时间 SELECT NOW(); # 2024-07-15 21:28:45 1.2获取当前日期 SELECT CURRENT_DATE...简化数据处理: 无需手动编写复杂的逻辑来处理日期计算、转换和比较。 像计算两个日期之间的工作日数量,使用相应的日期函数会简单很多。 4....举例来说, SQL Server 中,如果要获取当前日期和时间,可以直接使用 GETDATE() 函数。

    7810

    SAP PP计划订单和生产订单的日期计算

    SAP PP 中关于计划订单和生产订单的日期计算 ,计划单的基本完成日期=上级物料需求日期-物料主数据MRP2视图的收货处理时间天数(全部以工厂日历的工作日计算) 计划单的基本开始日期=计划单的基本完成日期...计划单的基本完成日期 = 上级物料需求日期 - 物料主数据MRP2视图的收货处理时间天数 (全部以工厂日历的工作日计算) 计划单的基本开始日期 = 计划单的基本完成日期 - 物料主数据MRP2视图的自制生产天数...(全部以工厂日历的工作日计算) 生产单的基本开始日期 = 已计划的下达日 + 计划边际码的下达期间。...特殊说明 如果上级物料需求日期比MRP运算日期等于 则:计划单的基本开始日期 = MRP运算日期 计划单的基本完成日期 = 计划单的基本开始日期 + 物料主数据MRP2视图的自制生产天数; 如果上级需求是销售订单...MRP2视图里的计划交货时间内,只是交货的时间点一定要是工作日 日期计算理论: 基本完成日期 = 已计划的完成日期+ 计划边际码中的产后缓冲天数; 基本开始日期 = 已计划的开始日期+ 计划边际码中的产前缓冲天数

    3.4K12

    盘一盘 QuantLib 系列 4 - CDSCDXiTraxx中国 CRM 和 CDS

    光一个标准 CDS 的日期表就设计无数细节,但不要慌,本帖我读完 ISDA 文件后帮大家整理了一套日期定义、也提供了代码。...可设为交易日结算日 IMM 日 (IMM date):每年三、六、九、十二月的 20 日 到期日 (maturity date):CDS 合约有效期内的最后 1 个 IMM 日,也是合约到期的日期,此后保护买方不再获得信用事件的担保...即使到期日落在非工作日,也不会进行工作日调整 CDS 日 (CDS date):根据 IMM Date 用顺延惯例调整到工作日 应计起始日 (accrual start date):票息开始累积的日期...第 1 个应计起始日落在保护生效日上之前 最后 1 个 应计起始日落在到期日之前的 CDS 日 应计结束日 (accrual end date):票息停止累积的日期,一般是应计起始日之前的 1 个日历日...对于最后一个保费,如果到期日是一个非工作日,那就会顺延落在其后的第 1 个工作日 惯例众多,一图胜千言,CDS 日期表如下所示: image.png 是不是好懂多了?

    75522

    Mysql中与时间相关的统计分析

    ), date_format(a5_firsttime, "%H:%i") as t from ccb_alerts group by t order by null 这个统计汇总方法,可以按照每天、工作日...其中的星期日是周的第一天,4 位,与 %V 使用 %x 年,其中的星期一是周的第一天,4 位,与 %v 使用 %Y 年,4 位 %y 年,2 位 如果想要统计一天之内,按照一定的分钟间隔汇总的数据,用SQL...date_fromat(date, format) TIMSTAMPADD 按照输入的间隔对日期进行计算。...datetime_expr) select timestampadd(day, 1, '2008-08-08 08:00:00'); -- 2008-08-09 08:00:00 TIMESTAMPDIFF Mysql中计算两个日期的时间差函数...TIMESTAMPDIFF用法: 语法 TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 说明 返回日期日期时间表达式datetime_expr1

    1.6K10

    全自动化处理每月缺卡数据,输出缺卡人员信息

    有些公司还规定对于基层员工要在工作日提交日志、管理人员要提交周报月报,对于少提交的人员要进行处罚。 如果公司HR逐个对人员的日志或缺卡数据进行处理,将是一项耗时且无聊的工作。...本文目录 效果展示 1.1 实现效果 1.2 原始数据模板 代码详解 2.1 导入库 2.2 定义时间处理函数 2.3 读取数据调整日期格式 2.4 计算工作日天数 2.5 获取缺卡名单 一、效果展示...: 4 计算工作日天数 接着取出数据框日期列的第一个值,获取要统计的年月信息。...5 获取缺卡名单 最后调用函数获取缺卡名单,主要是对每个填报日期和实际工作日期进行比对。...如果需要把姓名、部门、缺卡次数等信息分开,可以excel中按特定条件分列,调整一下代码进行实现。 本文开头的exe文件生成方法,可以参考Pinstaller(Python打包为exe文件)一文。

    1.8K30

    数据库之MySQL函数(二)

    时间戳是一份能够表示一份数据一个特定时间点已经存在的完整的可验证的数据。....... ,7 表示周六 WEEKDAY(date): 用于返回日期对应的工作日索引,0 表示周一,1 表示周二,...... ,6 表示周日 WEEK(date): 用于计算 date 是一年中的第几周...17、计算日期和时间的函数 DATE_ADD() :用于对日期进行加运算,格式为 DATE_ADD(date, INTERVAL expr type) DATE_SUB(): 用于对日期进行减运算,格式为...() :用于对日期进行加运算,格式为 ADDTIME(date, expr) SUBTIME() :用于对日期进行减运算,格式为 SUBTIME(date, expr) DATE_DIFF() :用于计算两个日期之间的间隔天数...5、重复执行指定操作的函数 BENCHMARK(count, expr): 用于重复 count 次执行表 达式 expr 可以用于计算 MySQL 处理表达式的速度 可以 MySQL 客户端内部报告语句执行的时间

    13.1K30

    养车记账本小程序开发实例

    --enablerepo=remi-php56 -y install php-mysql service php-fpm restart 以上四行,从上到下按次序执行保存为一文件,如update_php.sh...具体见实名认证指引,大约1-2个工作日。...所以需要购买申请SSL证书。目前正规渠道购买SSL证书还是很贵的,不过如果您选的是微信小程序方案,这个SSL证书是免费的(大约需要1个工作日审核下发),颁发后会获得一个压缩包,内含安全证书。...同事的指点下,采取了一些措施,防止SQL注入与XSS攻击,主要是过滤文本,做了字符串转换、格式化等操作。...最后,感谢hjiang、ningtian给出的好点子,感谢wqcheng给出的服务器升级、部署方面的指导,感谢lightllchenphp开发方面的帮助。

    3.6K90
    领券