添加两周的PHP

时间:2016-11-03 22:58:31

标签: php sql date

我试图将两周时间添加到2016年11月16日的sql结果中。当我做

之类的事情
$twoweeks = strtotime($time_db);

$expiry_date = $twoweeks;
$date = strtotime($expiry_date);
$date = strtotime("+14 day", $date);
echo date('d/m/y', $date);

我一直在考虑获得15/01/70 ......任何想法?

4 个答案:

答案 0 :(得分:2)

你在第4行犯了一个错误,把一个数字变量作为<ul> <% @user.chores.each do |chore| %> <li><%= chore.name %></li> <% end %> </ul> 的第一个参数。 strtotime期望一个有效日期/时间格式的字符串作为第一个参数,否则返回FALSE。

我认为你的代码应该如何:

strtotime

或者甚至可能:

$twoweeks = strtotime($time_db);
$date = strtotime("+ 2 weeks", $twoweeks);
echo date('d/m/y', $date);

答案 1 :(得分:2)

这里发生的事情是你的16/11/2016是日 - 月 - 年,斜线是一个问题。

如果您的约会时间是2016年11月16日,那么您会发现它没问题。

您需要将它们转换/替换为短划线/连字符。

public static void main(String[] args) {

    split('@',"asif@is@handsome");
}

static void split(char delimeter, String line){

    String word = "";
    String wordsArr[] = new String[3];

    int k = 0;
    for(int i = 0; i <line.length(); i++){

        if(line.charAt(i) != delimeter){
            word+= line.charAt(i);
        }else{
            wordsArr[k] = word;
            word = "";
            k++;                    
        }
    }
    wordsArr[k] = word;
    for(int j = 0; j <wordsArr.length; j++)
    System.out.println(wordsArr[j]);

}

使用日期(和时间)时,最好使用内置的MySQL日期/时间函数,而不是将它们存储为纯文本;在查询时,它会减少麻烦并且更容易。

参考:

答案 2 :(得分:1)

您可以使用

$numberOfWeeks = 2;

$newTime = strtotime($time_db) + ($numberOfWeeks * 60 * 60 * 24 * 7); 

或者你可以直接在(mysql)中选择

select date_add( your_column, INTERVAL 2 WEEK) from my_table;

答案 3 :(得分:1)

$date = date('Y-m-d H:i:s',time());
     $date = strtotime($date);
     $date = strtotime("+14 day", $date);
    $valuedate= date('Y-m-d H:i:s',$date);

试试这个