You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Enums\Setting;
  3. use Filament\Support\Contracts\HasLabel;
  4. enum DateFormat: string implements HasLabel
  5. {
  6. // Day-Month-Year Formats
  7. case DMY_SLASH = 'd/m/Y'; // 31/12/2021
  8. case DMY_DASH = 'd-m-Y'; // 31-12-2021
  9. case DMY_DOT = 'd.m.Y'; // 31.12.2021
  10. case DMY_SPACE = 'd m Y'; // 31 12 2021
  11. case DMY_LONG = 'd F Y'; // 31 December 2021
  12. case DMY_SHORT = 'd M Y'; // 31 Dec 2021
  13. // Month-Day-Year Formats
  14. case MDY_SLASH = 'm/d/Y'; // 12/31/2021
  15. case MDY_DASH = 'm-d-Y'; // 12-31-2021
  16. case MDY_DOT = 'm.d.Y'; // 12.31.2021
  17. case MDY_SPACE = 'm d Y'; // 12 31 2021
  18. case MDY_LONG_SPACE = 'F d Y'; // December 31 2021
  19. case MDY_LONG_COMMA = 'F j, Y'; // December 31, 2021
  20. case MDY_SHORT_SPACE = 'M d Y'; // Dec 31 2021
  21. case MDY_SHORT_COMMA = 'M j, Y'; // Dec 31, 2021
  22. // Year-Month-Day Formats
  23. case YMD_SLASH = 'Y/m/d'; // 2021/12/31
  24. case YMD_DASH = 'Y-m-d'; // 2021-12-31
  25. case YMD_DOT = 'Y.m.d'; // 2021.12.31
  26. case YMD_SPACE = 'Y m d'; // 2021 12 31
  27. case YMD_LONG = 'Y F d'; // 2021 December 31
  28. case YMD_SHORT = 'Y M d'; // 2021 Dec 31
  29. public const DEFAULT = self::MDY_SHORT_COMMA->value;
  30. public function getLabel(): ?string
  31. {
  32. return now()->translatedFormat($this->value);
  33. }
  34. }