从mysql转换datetime类型的一个问题,范围从1001-01-01 00:00开始。 问题是从1天开始的一天,但我希望从0天开始。 当我用-1减去一天时,我得到第30天。
$data['duration'] = date('d - H:i', strtotime($data['duration']));
这将输出01 - 00:00但我希望00 - 00:00
有什么想法吗?
答案 0 :(得分:0)
正如我作为评论,没有0天。 http://dev.mysql.com/doc/refman/5.6/en/datetime.html
DATE类型用于具有日期部分但没有时间部分的值。 MySQL以'YYYY-MM-DD'格式检索并显示DATE值。该 支持的范围是'1000-01-01'到'9999-12-31'。
DATETIME类型用于包含日期和时间的值 部分。 MySQL在'YYYY-MM-DD中检索并显示DATETIME值 HH:MM:SS'格式。支持的范围是'1000-01-01 00:00:00'到 '9999-12-31 23:59:59'。
TIMESTAMP数据类型用于包含date和的值 时间部分。 TIMESTAMP的范围是'1970-01-01 00:00:01'UTC到 '2038-01-19 03:14:07'UTC。
另外
无效的DATE,DATETIME或TIMESTAMP值将转换为 适当类型的“零”值('0000-00-00'或'0000-00-00 00:00:00' )。
MySQL不接受当天包含零的TIMESTAMP值 或月份列或非有效日期的值。唯一的 这个规则的例外是特殊的“零”值'0000-00-00 00:00:00' 。
答案 1 :(得分:0)
回答问题 - 如果小时数大于24小时=我也会显示1天。 否则只显示时间