首页 > 解决方案 > 使用 laravel Carbon,如何通过数字获取翻译后的日期名称?

问题描述

使用 Laravel Carbon,如何通过提供日期名称来获取翻译后的日期名称?(在当前语言环境中)

假设我有第一天,我想用英语获得星期一,用西班牙语获得 Lunes,用德语获得 Montag 等等。

并且仅通过使用碳,我不想使用翻译天数的数组。

我尝试了返回日期名称数组的 Carbon::getDays() 方法,但不幸的是,只有英文。

标签: phplaravelphp-carbon

解决方案


如果获取日期名称是您唯一关心的问题,您可以使用数组来执行此操作。

$weekdays = Carbon::getDays();

但是,如果您需要一种方法来获取语言环境的名称,有两种方法可以解决。

  1. 使用翻译字符串(在resources/lang文件夹中,需要手动添加)
  2. 使用碳:
Carbon::create($weekdays[$day])->locale($locale)->dayName;
// Carbon::create($weekdays[1])->locale('fr_FR')->dayName outputs 'lundi'
// Carbon::create($weekdays[1])->locale('es_ES')->dayName outputs 'lunes'
// Carbon::create($weekdays[1])->locale('en_US')->dayName outputs 'monday'

或者,找到从星期一开始的一年,您可以避免制作工作日数组。但是,请务必评论您选择该特定年份的原因。


推荐阅读