首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >贸易结算日期( phpmysql )

贸易结算日期( phpmysql )
EN

Stack Overflow用户
提问于 2018-08-01 21:01:30
回答 1查看 82关注 0票数 1

我正在尝试为一个用php/mysql构建的小型交易应用程序实现一个结算日期算法,以检查我所在地区的本地公共假日。我将所有本地的公共假日日期整齐地存储在我的数据库中,然后使用一个变量输出。

应用程序应该检查当前日期,然后添加三个工作日(减去周末),因为我国的结算周期遵循所有交易的t+3结算规则。这要求如果结算日是公共假日或周末,应用程序应该比较数据库表中的日期,然后设置一个新的工作日作为结算日。

有没有人能帮我补一下我可能遗漏的东西?请找到下面的代码:

代码语言:javascript
复制
<?php 
$rsd = date ( 'Ymd' , strtotime ( '3 weekdays' ) ); 
$phd = $row_public_holidays['date'];

if ($rsd == $phd) {
echo date ( 'Ymd' , strtotime ( '4 weekdays' ) );
} else {
echo date ( 'Ymd' , strtotime ( '3 weekdays' ) );
}
?>
EN

回答 1

Stack Overflow用户

发布于 2018-08-01 21:11:12

如果您需要date的输出具有8位数字,您可以将格式字符串从Ymj更新为Ymd。将最后一个字符从j更改为d将不再显示:

不带前导零的

月份日

至:

每月第几天,2位前导为零的数字

根据date文档(http://php.net/manual/en/function.date.php)。

把这些放在一起

strtotime的调用执行计算并返回一个整数,该整数表示所确定的(或提供的)时区(http://php.net/manual/en/function.strtotime.php)中自纪元以来的秒数。对date的调用只是根据提供的格式(http://php.net/manual/en/function.date.php)将该整数格式化为字符串。

所以:

代码语言:javascript
复制
$time = strtotime('4 weekdays');
var_dump($time);

$date1 = date('Ymj', $time);
var_dump($date1);

$date2 = date('Ymd', $time);
var_dump($date2);

输出:

代码语言:javascript
复制
int(1533600000)
string(7) "2018087"
string(8) "20180807"

在本例中,对date的调用不会更改$time的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51633983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档