PHP/MySQL - 根据开始日期+ INSERT 确定一系列日期

标签 php mysql database datetime date

我想根据用户确定的 12 周内的“开始日期”生成一个日期列表。

如果用户选择今天的日期,我需要知道从今天开始 12 周内的每个日期。

一旦获得这些日期,我需要将它们插入数据库表中。

我想说我已经在如何做到这一点方面取得了一些进展,我认为 PHP Mktime ( http://php.net/manual/en/function.mktime.php ) 和计数器可能位于正确的区域,但我有点困惑。

任何建议或链接将不胜感激,谢谢。

编辑:

发现了我第一次错过的这个:

PHP: get next 13 dates from date?

这就是进入正确的区域。

编辑2:

从上面列出的帖子中,这非常适合从给定的开始日期获取任意数量的日期:

$start = strtotime($s_row['schedule_start_date']);
$dates=array();
for($i = 1; $i<=42; $i++)
{
    array_push($dates,date('Y-m-d', strtotime("+$i day", $start)));
}
print_r($dates);

我已更改上面的示例以获取 6 周(42 天)的日期。有谁知道如何修改此设置以将 42 天分成几周吗?

因此,使用数组中的结果,我想生成包含计算日期的周列表 - 第 1 周(列出日期)、第 2 周(列出日期)等...?

最佳答案

在很多很多情况下,strtotime()可以成为救星。

<?PHP
$userdate = strtotime($_REQUEST['whatever']);

$date1 = strtotime('+1 week',$userdate);
$date2 = strtotime('+10 days',$userdate);
$date3 = strtotime('+1 month',$userdate);

$dateN 将是一个时间戳,您可以直接输入日期。

关于PHP/MySQL - 根据开始日期+ INSERT 确定一系列日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3472837/

相关文章:

php - strip_tags 不工作

php - 如何自定义 Sylius 以销售免费产品(默认最低价格为 0.01)

php - 使用 Composer 时清洁应用程序部署

mysql - MYSQL中如何按三个字符工作日排序

javascript - Sequelize 模型方法 "this"问题

database - 在用户表中存储用户属性

php - 为什么我的 DataTables 实现无法与 ColumnDefs 一起正常工作?

Mysql 选择最后 2 个元素升序,然后是第一个元素

mysql - 获取每组分组结果的前n条记录

mysql - 用laravel上传图片并进行图片干预到本地路径