如何从 php 中给定的两个日期按月获取开始日期和结束日期
How to get the start date and end date by month wise from given two dates in php
我正在尝试从将在两个日期之间庆祝生日的表格中筛选成员。
$start_date = '2021-05-30';
$end_date = '2021-07-03';
我想要一个像下面这样的数组。
$date = array (
array ('start' => '2021-05-30', 'end' => '2021-05-31'),
array ('start' => '2021-06-01', 'end' => '2021-06-30'),
array ('start' => '2021-07-01', 'end' => '2021-07-03')
);
这很有挑战性,但我想我已经找到了。
顺子PHP/MYSQL:
$s = date("md", strtotime($start));
$e = date("md", strtotime($end));
$query = "SELECT registration.*
FROM registration
LEFT JOIN members
ON members.mem_tbl_id = registration.mem_tbl_id
WHERE registration.ch_id = $ch_id
AND members.status = 'active'
AND CONCAT(LPAD(MONTH(registration.birth),2,'0'), LPAD(DAYOFMONTH(registration.birth),2,'0')) BETWEEN $s AND $e
ORDER BY registration.birth DESC";
这里是 CodeIgniter 版本
$s = date("md", strtotime($start));
$e = date("md", strtotime($end));
$this->db->select('*');
$this->db->from('registration');
$this->db->join('members', 'members.mem_tbl_id = registration.mem_tbl_id', 'left');
$this->db->where("CONCAT(LPAD(MONTH(registration.birth),2,'0'), LPAD(DAYOFMONTH(registration.birth),2,'0')) BETWEEN $s AND $e");
$this->db->where("registration.ch_id", $ch_id);
$this->db->where("members.status", "active");
$this->db->order_by("registration.birth DESC");
$result = $this->db->get()->result();
我正在尝试从将在两个日期之间庆祝生日的表格中筛选成员。
$start_date = '2021-05-30';
$end_date = '2021-07-03';
我想要一个像下面这样的数组。
$date = array (
array ('start' => '2021-05-30', 'end' => '2021-05-31'),
array ('start' => '2021-06-01', 'end' => '2021-06-30'),
array ('start' => '2021-07-01', 'end' => '2021-07-03')
);
这很有挑战性,但我想我已经找到了。
顺子PHP/MYSQL:
$s = date("md", strtotime($start));
$e = date("md", strtotime($end));
$query = "SELECT registration.*
FROM registration
LEFT JOIN members
ON members.mem_tbl_id = registration.mem_tbl_id
WHERE registration.ch_id = $ch_id
AND members.status = 'active'
AND CONCAT(LPAD(MONTH(registration.birth),2,'0'), LPAD(DAYOFMONTH(registration.birth),2,'0')) BETWEEN $s AND $e
ORDER BY registration.birth DESC";
这里是 CodeIgniter 版本
$s = date("md", strtotime($start));
$e = date("md", strtotime($end));
$this->db->select('*');
$this->db->from('registration');
$this->db->join('members', 'members.mem_tbl_id = registration.mem_tbl_id', 'left');
$this->db->where("CONCAT(LPAD(MONTH(registration.birth),2,'0'), LPAD(DAYOFMONTH(registration.birth),2,'0')) BETWEEN $s AND $e");
$this->db->where("registration.ch_id", $ch_id);
$this->db->where("members.status", "active");
$this->db->order_by("registration.birth DESC");
$result = $this->db->get()->result();