1unitedpower: Datum kürzen

Beitrag lesen

Dass es bei nicht standardisierten Angaben (sprich Datenmüll) keinen gescheiten Wert ergibt, ist auch ein generelles Problem. Wenn man dazu keine eindeutige Regel definieren kann, ist das auch unlösbar.

Ja richtig, ich halte es aus diesem Grund für sinnvoller defensiv vorzugehen und eine Exception zu schmeißen, wenn die Eingabe nicht auf das erwartete Format passt, anstatt zu versuchen den Eingabestring willkürlich zu (re)interpretieren.

function format(string $input) : string {
    $dateTime = DateTime::createFromFormat('Y-m-d', $input);
    if ($dateTime instanceof DateTime) {
        return $dateTime->format('d.m.y');
    } else {
        throw new DomainException("$input does not match the expected format yyyy-mm-dd.");
    }
}
0 44

Datum kürzen

Bernd
  • php
  1. 1
    dedlfix
    1. 0
      Bernd
      1. 0
        dedlfix
  2. 0
    Wallpappe
  3. 0
    ursus contionabundo
    1. 0
      Rolf B
      1. 0
        dedlfix
      2. 0
        ursus contionabundo
        1. 0
          ursus contionabundo
        2. 0
          dedlfix
          1. 0
            ursus contionabundo
            1. 0
              dedlfix
              1. 0
                1unitedpower
                1. 0
                  ursus contionabundo
                  1. 0
                    dedlfix
                    1. 0
                      ursus contionabundo
                      1. 0
                        dedlfix
                        1. 0
                          ursus contionabundo
                  2. 1
                    1unitedpower
                    1. 0
                      ursus contionabundo
                      1. 0
                        dedlfix
                        1. 0
                          ursus contionabundo
                          1. 0
                            Tabellenkalk
                            1. 0
                              ursus contionabundo
                            2. 0

                              microtime(true)

                              ursus contionabundo
                              1. 0
                                dedlfix
                                1. 0
                                  ursus contionabundo
                                  1. 0
                                    Matthias Apsel
                                    • sonstiges
                                    1. 5
                                      MudGuard
                              2. 0
                                ursus contionabundo
                              3. 0
                                Tabellenkalk
                                1. -1

                                  Kann passieren

                                  ursus contionabundo
                          2. 0
                            dedlfix
                            1. 0
                              ursus contionabundo
                      2. 0
                        Tabellenkalk
                        1. 0
                          ursus contionabundo
                      3. 0
                        1unitedpower
                        1. 0
                          ursus contionabundo
                          1. 0
                            1unitedpower
                            1. 0

                              PS: Benchmark Code

                              1unitedpower
                            2. 0
                              Rolf B
                              1. 0
                                1unitedpower
      3. 0
        ursus contionabundo