2017-05-02 5 views
1

Ich versuche herauszufinden, wie die Ausgabe von einer diffForHumans Methode, die von der Carbon-Bibliothek in Laravel bereitgestellt wird, zu verkürzen.Laravel - Kohlenstoff | diffForHumans() kürzere Version?

Das Standardformat von diffForHumans ist so etwas wie diese: (aus Dokumentation)

  • Wenn Sie einen Wert in der Vergangenheit zu vergleichen jetzt auf Standard:

    1. 5 Monate her

    2. vor 1 Stunde

Aber ich möchte, dass die Ausgabe so etwas wie sein:

  1. 1 h
  2. 5 Minuten
  3. 5 Monate
  4. 2 Jahre
  5. gerade jetzt

Wie kann ich das erreichen?

Antwort

1

Gemäß dem Quellcode für diffForHumans

/** 
* Get the difference in a human readable format in the current locale. 
* 
* 
* @param Carbon|null $other 
* @param bool  $absolute removes time difference modifiers ago, after, etc 
* @param bool  $short displays short format of time units 
* 
* @return string 
*/ 
public function diffForHumans(Carbon $other = null, $absolute = false, $short = false) { 
    ... 
} 

Modifikatoren zu entfernen, den zweiten Parameter als true passieren und auf die Version der Zeit den dritten Parameter als true

Quellcode bei

passieren lassen verkürzt
vendor/nesbot/carbon/src/Carbon/Carbon.php 
2

Carbon geben Sie eine Option zum Entfernen "vor"

$ time = \ Carbon-\ Carbon :: now() -> subMinutes (1) -> diffForHumans (null, true)

enter image description here

wenn Sie wie '1 h, 5 Min' verwenden müssen , nur str_replace(['hours', 'minutes'], ['h', 'mins'], $time);

für , müssen Sie angeben, wie lange just now ist.

Verwandte Themen