Php 转换诸如“的单词”;“月”;迄今为止

Php 转换诸如“的单词”;“月”;迄今为止,php,Php,我正在创建一个程序,如果我输入诸如“分钟”、“小时”、“天”、“周”、“月”之类的单词,我希望它们转换成时间戳 比如我输入“8个月”,格式是date('d-m-Y H:I:s'),我希望它输出00-08-0000 00:00:00。其余的也一样 我在上读到了关于strotime的内容,但那是插入时间格式而不是文字的时候 这可能吗 我曾想过使用布尔值,但后来我遇到了这样一个大麻烦: <?php <input type="text" name="time" />

我正在创建一个程序,如果我输入诸如“分钟”、“小时”、“天”、“周”、“月”之类的单词,我希望它们转换成时间戳

比如我输入“8个月”,格式是
date('d-m-Y H:I:s'),我希望它输出00-08-0000 00:00:00。其余的也一样

我在上读到了关于strotime的内容,但那是插入时间格式而不是文字的时候

这可能吗

我曾想过使用
布尔值
,但后来我遇到了这样一个大麻烦:

<?php
    <input type="text" name="time" />

    $time = ($_POST['time']);

    if (strpos($time,'hours') !== false){ int hour = 1; }
    else if (strpos($time,'hours') !== false){ int hours = 1; }
    else if (strpos($time,'day') !== false){ int day = 1; }
    else if (strpos($time,'days') !== false){ int days = 1; }
    else if (strpos($time,'week') !== false){ int week = 1; }
    else if (strpos($time,'weeks') !== false){ int weeks = 1; }
    else if (strpos($time,'month') !== false){ int month = 1; }
    else if (strpos($time,'months') !== false){ int months = 1; }
?>

它必须比这个更有效。

您可以使用

strtotime(time,now);
//time => Required. Specifies a date/time string
//now  => Optional. Specifies the timestamp used as a base for the calculation of relative dates
这将把任何英文文本datetime描述解析为Unix时间戳。这里有一些例子:

strtotime("now");
strtotime("10 September 2000");
strtotime("+1 day");
strtotime("+1 week");
strtotime("+1 week 2 days 4 hours 2 seconds");
strtotime("next Thursday");
strtotime("last Monday");

你试过什么吗?@sgtBOSE读我的编辑。@SunilPachlangia读我的编辑。