laravel - 如何向 Laravel Carbon 添加自定义方法
问题描述
我一直在寻找这个问题 2 天但没有运气。我想向 laravel carbon 添加自定义方法。我使用以下语法:
namespace App\Http\Controllers\Helpers;
use Carbon\CarbonInterface;
interface CarbonJalaliInterface extends CarbonInterface {
public function toJalaliDateTimeString($unitPrecision = 'second');
public function toJalaliDateString($unitPrecision = 'second');
}
abstract class CarbonJalali implements CarbonJalaliInterface {
public function toJalaliDateTimeString($unitPrecision = 'second') {
list($part1, $part2) = explode(' ', $this->rawFormat('Y-m-d '.static::getTimeFormatByPrecision($unitPrecision)));
list($year, $month, $day) = explode('-', $part1);
list($hour, $minute, $second) = explode(':', $part2);
$timestamp = mktime($hour, $minute, $second, $month, $day, $year);
include_once ('jdf.php');
$jalali_date = jdate("H:i:s - Y/m/d",$timestamp);
return $jalali_date;
}
public function toJalaliDateString($unitPrecision = 'second') {
$timezone = 0;
list($part1, $part2) = explode(' ', $this->rawFormat('Y-m-d'));
list($year, $month, $day) = explode('-', $part1);
$timestamp = mktime($month, $day, $year);
include_once ('jdf.php');
$jalali_date = jdate("Y/m/d",$timestamp);
return $jalali_date;
}
}
但我得到错误:
Symfony\Component\Debug\Exception\FatalErrorException DateTimeInterface can't be implemented by user classes
我想这样使用它:
CarbonJalali::now()->toJalaliDateTimeString();
有什么建议么?谢谢。
解决方案
推荐阅读
- conditional-statements - 错误条件下的修饰符
- r - y for x 来自黄土,但预测错误
- python - pyTesseract 不从图像输出文本
- html - 如何让字体出现在所有设备上?
- python - 在 PySpark 中使用 OR 折叠逻辑
- reactjs - Object.keys does not render my view in react
- go - 超出云函数 CPUMilliSeconds 配额
- apache-camel - Using Typed Default Property Placeholders defined in blueprint but resolved in Camel Java DSL
- python-3.x - pandas: aggregate rows values to create a new dataset
- bash - 替换 =~ 运算符检查 if 语句