php - 在使用 Jalali 波斯日期的字符串上调用成员函数 diff()
问题描述
我有一个数据库类型的finish_time
列。date
我正在使用Jalali
包通过以下代码获取当前的波斯日期:
$now = \Morilog\Jalali\jDateTime::strftime('Y-m-d', strtotime('now'));
我想知道 和 之间的天$now
数finish_time
。我在下面使用了这段代码:
$now->diff($giveaway->finish_time)
但我得到这个错误
Call to a member function diff() on string
.
我怎么解决这个问题?
解决方案
jDateTime::strftime
返回一个格式化string
的,所以不可能调用->diff()
你的变量$now
,它是一个字符串。
为此使用碳实例:
$now = \Morilog\Jalali\jDateTime::strftime('Y-m-d H:i:s', strtotime('now'));
$_now = \Morilog\Jalali\jDateTime::createCarbonFromFormat('Y-m-d H:i:s', $now);
dd($_now->diff($giveaway->finish_time));
更新:
假设$giveaway->finish_time
返回一个类似的字符串1394/11/25 15:00:00
,那么您需要将其转换为DateTime
实例
$finishDate = \Morilog\Jalali\jDateTime::createCarbonFromFormat(
'Y/m/d H:i:s', $giveaway->finish_time
);
// Change the dateTime format according to how your ->finish_time is being formatted
// then, you'll be able to get the datetime difference using
dd($_now->diff($finishDate));
推荐阅读
- javascript - 如何根据 Vue JavaScript 中返回的键对该数组进行分段?
- android - (它没有 rc01)清单合并失败:属性 application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory)
- ruby-on-rails-5 - 用户下载 ActiveStorage blob 附件时如何更新数据库?
- python-3.x - 从 url 导入数据集并在 python3 中将文本转换为 csv
- python - 列表上的 Python 不支持的操作数类型
- c++ - 如何解决“无法在地址 c++ 访问内存”问题
- bash - 为什么 autossh 会产生几十个自身和 ssh 的实例?
- r - 将矩阵的每一行与另一个矩阵中的同一行交互
- c++ - std::accumulate 的迭代器
- docker - 非root docker权限来来去去