繁体   English   中英

在Laravel中将时间字符串存储到TIME列

[英]Storing time strings to TIME column in Laravel

我使用时间戳获取时间字符串(例如:'上午1:00'或'12:00pm')。 我需要修改并将其存储在mysql TIME数据类型列中,例如:'12:00:00'。 现在,由于TIME列以24小时格式存储,我需要“修改”它。 我似乎无法找到使用Carbon修改的任何帮助,因为我没有使用任何日期。 我在Laravel中使用了一个mutator,但想知道是否有更好的方法,比如使用Carbon作为日期。

public function setTimeAttribute($time) {
    if(substr($time, -2, 0) == 'am') {
        // do nothing
    } else if(substr($time, -2, 0) == 'pm') {
        // increase hours.ie: 1:00pm to 13:00:00
    }
 }

任何帮助,将不胜感激! 谢谢。

使用PHP strtotime()函数。

$time = "12:00am";

$timestamp = strtotime($time);

echo $timestamp;

//Will print something like: 1469228400

或者您喜欢的任何其他日期格式。

最好将时间存储为时间戳,将其转换回来可以使用date()函数。 例如: $value = date("H:i:s", $timestamp);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM