Php 如果写,否则写在日期上
我使用Codeigniter和Gammu来实现SMS自动重放功能。短信的格式是:DAFTAR#NIK#NAME#DATE 日期格式为yyyy-mm-dd。我使用的日期取自if语句中的#日期文本Php 如果写,否则写在日期上,php,codeigniter,if-statement,Php,Codeigniter,If Statement,我使用Codeigniter和Gammu来实现SMS自动重放功能。短信的格式是:DAFTAR#NIK#NAME#DATE 日期格式为yyyy-mm-dd。我使用的日期取自if语句中的#日期文本 if($tanggal_periksa==$dataku) 如果输入的日期与当前日期的距离为七天,则为true。例子: 现在是2020年7月17日。如果我们使用日期2020-07-17至2020-07-23,则if声明为真。除了那个日期,它是值得错误的。但是,当我在七天内使用一个日期时,它仍然是错误的
if($tanggal_periksa==$dataku)
如果输入的日期与当前日期的距离为七天,则为true。例子:
现在是2020年7月17日。如果我们使用日期2020-07-17至2020-07-23,则if声明为真。除了那个日期,它是值得错误的。但是,当我在七天内使用一个日期时,它仍然是错误的
{
$inboxs= $this->db->get_where('inbox', array('Processed'=>'false'));
foreach ($inboxs->result() as $inbox)
{
$pesan= $inbox->TextDecoded;
$no_hp = $inbox->SenderNumber;
$pecah = explode("#", $pesan);
$key=$pecah[0];
$keyword=trim($key);
if(strtoupper($keyword)=='DAFTAR')
{
if(count($pecah)==4)
{
$NIK=trim($pecah[1]);
$nama=$pecah[2];
$tanggal_periksa=$pecah[3];// i got it from #DATE
$tahun = date('Y');
$bulan = date('m');
$tanggal = date('d');
$format = $tahun.'-'.$bulan.'-'.$tanggal;
$seminggu = abs(6*86400);
$awal = strtotime($format);
$akhir = strtotime($format)+$seminggu;
$sub_kalimat = substr($tanggal_periksa,4,1);
$sub_kalimat1 = substr($tanggal_periksa,7,1);
$jumlah_karakter = strlen($tanggal_periksa);
// echo "<br>".$akhir;
if($jumlah_karakter==10 && $sub_kalimat=="-" && $sub_kalimat1=="-")//done
{
for($i=$awal; $i <=$akhir;$i+=86400)
{
$dataku=date('Y-m-d', $i);
if($tanggal_periksa==$dataku)
{
{
$inboxs=$this->db->get_where('inbox',array('Processed'=>'false');
foreach($inbox->result()作为$inbox)
{
$pesan=$inbox->TextDecoded;
$no_hp=$inbox->SenderNumber;
$pecah=爆炸(“#”,$pesan);
$key=$pecah[0];
$keyword=trim($key);
if(strtoupper($keyword)='DAFTAR')
{
如果(计数($pecah)=4)
{
$NIK=修剪($pecah[1]);
$nama=$pecah[2];
$tanggal_periksa=$pecah[3];//我是从#日期开始买的
$tahun=日期('Y');
$bulan=日期('m');
$tanggal=日期('d');
$format=$tahun.'-'.$bulan.'-'.$tanggal;
$seminggu=abs(6*86400);
$awal=strottime($format);
$akhir=strotime($format)+$seminggu;
$sub_kalimat=substr($tanggal_periksa,4,1);
$sub_kalimat1=substr($tanggal_periksa,7,1);
$jumlah_karakter=strlen($tanggal_periksa);
//回声“
”$akhir;
如果($jumlah_karakter==10&&$sub_kalimat==“-”&&&$sub_kalimat1==“-”),完成
{
对于($i=$awal;$i我建议创建一个可以重用的函数-示例:
function checkDateRange($start, $end, $range) {
/* $start and $end are datestrings in YYYY-MM-DD format */
/* $range is an integer, representing range in days */
$range = $range * 24 * 60 * 60;
$time_start = strtotime($start);
$time_end = strtotime($end);
return
/* check if END date if after START date */
($time_end - $time_start >= 0)
&&
/* check if END date is in RANGE */
($time_end - $time_start < $range);
}
$TODAY = date("Y-m-d"); // "2020-07-17"
checkDateRange($TODAY, "2020-07-16", 7); // returns false
checkDateRange($TODAY, "2020-07-17", 7); // returns TRUE
checkDateRange($TODAY, "2020-07-23", 7); // returns TRUE
checkDateRange($TODAY, "2020-07-24", 7); // returns false
此外,您还可以使用创建相同的函数:
function checkDateRange($start, $end, $range) {
$date_start = new DateTime($start);
$date_end = new DateTime($end);
return
/* check if END date if after START date */
$date_end->diff($date_start)->invert != 1
&&
/* check if END date is in RANGE */
$date_end->diff($date_start)->days <= $range;
}
函数checkDateRange($start,$end,$range){
$date\u start=新日期时间($start);
$date\u end=新日期时间($end);
返回
/*检查结束日期是否在开始日期之后*/
$date\u end->diff($date\u start)->反转!=1
&&
/*检查结束日期是否在范围内*/
$date\u end->diff($date\u start)->days我建议创建一个可以重用的函数-示例:
function checkDateRange($start, $end, $range) {
/* $start and $end are datestrings in YYYY-MM-DD format */
/* $range is an integer, representing range in days */
$range = $range * 24 * 60 * 60;
$time_start = strtotime($start);
$time_end = strtotime($end);
return
/* check if END date if after START date */
($time_end - $time_start >= 0)
&&
/* check if END date is in RANGE */
($time_end - $time_start < $range);
}
$TODAY = date("Y-m-d"); // "2020-07-17"
checkDateRange($TODAY, "2020-07-16", 7); // returns false
checkDateRange($TODAY, "2020-07-17", 7); // returns TRUE
checkDateRange($TODAY, "2020-07-23", 7); // returns TRUE
checkDateRange($TODAY, "2020-07-24", 7); // returns false
此外,您还可以使用创建相同的函数:
function checkDateRange($start, $end, $range) {
$date_start = new DateTime($start);
$date_end = new DateTime($end);
return
/* check if END date if after START date */
$date_end->diff($date_start)->invert != 1
&&
/* check if END date is in RANGE */
$date_end->diff($date_start)->days <= $range;
}
函数checkDateRange($start,$end,$range){
$date\u start=新日期时间($start);
$date\u end=新日期时间($end);
返回
/*检查结束日期是否在开始日期之后*/
$date\u end->diff($date\u start)->反转!=1
&&
/*检查结束日期是否在范围内*/
$date\u end->diff($date\u start)->天