我的数据库中存储了两个日期,mysql的DateTime格式为YYYY-MM-DD HH:MM:SS
。当我得到这个数据(其他字符串等),我想把它转换成另一种格式,也许DD.MM.YYYY HH:MM:SS
,并显示在我的视图中的一个表格单元格。我的数据库日期被称为date_begin
和date_end
。
更好的是,当我从数据库中获得这个日期时,将其转换为DD.MM.YYYY
,将日期和时间分开,将时间存储在一个自定义字符串(“HH 1:MM 1-HH 2:MM 2”)中,并将两者都显示在我的视图中。
我怎样才能做到这一点呢?我发现一些例子可以在视图上转换,而不是在控制器中,但我认为这对MVC不好。
5条答案
按热度按时间x6492ojm1#
不知道您从哪里得到的印象是 “格式化视图中的日期对MVC不好”,因为这不是问题。
如果您使用的是Eloquent Models,则可以非常轻松地执行此操作:
**1.**将列添加到模型类的
$dates
属性中:这将确保值变为Carbon instances。
**2.**在您的视图文件中,您可以使用Carbon提供的
format
方法,如下所示:不需要将值拆分为时间和日期,只需要使用任何格式显示您想要从DateTime值中得到的内容。
如果您没有使用Eloquent模型,那么您可以手动使用Carbon来格式化您的值,如下所示:
vlf7wbxs2#
我使用的PHP解决方案没有Carbon:
按照您的操作获取数据库日期(使用默认格式:YYYY-MM-DD HH:MM:SS),当您在视图上打印时,请将
$item->date_begin
替换为:之后,当您将其保存在数据库中时,添加DB更新:
vsaztqbk3#
你可以用它的日期时间-本地字段。贪婪你。喜欢我如果为你工作
xxhby3vn4#
//应强制转换为本机类型的属性
就像Laravel的文件一样。
qxgroojn5#
你可以在blade文件中这样使用
使用日期函数来修复此问题