dey: format für datum

Hallo.
Ich möchte an dieser Stelle gerne das deutsche format für Datumsdarstellung anbringen:

<td class="hgray"><%Response.Write objrs1("datum")%></td>

Der Befehl format(var,"dd.mm.yyyy") scheitert schon am Wort format:
variable format nicht definiert.

Gibt es asp eine Entprechung?
Problem Brinkster ist nach amerikanischer Darstellung formattiert.
mm/dd/yyyy

bydey

  1. » Der Befehl format(var,"dd.mm.yyyy") scheitert schon am Wort format:

    variable format nicht definiert.

    Gibt es asp eine Entprechung?

    Hi dey!

    Klar! Die Syntax sieht so aus:

    x = FormatDateTime(TheDate)

    Das müßte funktionieren. Probier mal!

    MfG
    MarkX.

    1. Servus MarkX.
      Suppi.  Schon deutlich besser.
      jetzt fehlt nur noch die richtige beschreibung meines formats

      <td class="hgray"><%
      Response.Write FormatDateTime(objrs1("datum"),"dd.mm.yyyy hh:mm")%></td>

      -->

      Laufzeitfehler in Microsoft VBScript- Fehler '800a000d'

      Typen unverträglich: '[string: "dd.mm.yyyy hh:mm"]'

      /bsv/default.asp, line 101
      Hast Du das auch noch?
      bydey

      1. <td class="hgray"><%
        Response.Write FormatDateTime(objrs1("datum"),"dd.mm.yyyy hh:mm")%></td>

        -->

        Laufzeitfehler in Microsoft VBScript- Fehler '800a000d'

        Typen unverträglich: '[string: "dd.mm.yyyy hh:mm"]'

        /bsv/default.asp, line 101
        Hast Du das auch noch?
        bydey

        Versuch es mal mit FormatDateTime(objrs1("datum"), 0)

        Ich glaube damit bist wieder einen Schritt weiter. Jetzt bin ich mir aber nicht sicher, ob das mit der Zeitangabe auch hinhaut. Versuch mal.

        MfG
        MarkX.

        1. Hi

          Versuch es mal mit FormatDateTime(objrs1("datum"), 0)

          Die Lösung hatte ich mir dann auch zusammen gegoogelt.
          Das formattiert mir aber nur den Umfang der dargestellten Zahlen, nicht aber die Reihenfolge und das Trennzeichen.

          Gibt es noch andere Möglichkeiten?

          bydey

          1. Hi

            Versuch es mal mit FormatDateTime(objrs1("datum"), 0)

            Die Lösung hatte ich mir dann auch zusammen gegoogelt.
            Das formattiert mir aber nur den Umfang der dargestellten Zahlen, nicht aber die Reihenfolge und das Trennzeichen.

            Gibt es noch andere Möglichkeiten?

            bydey

            Das mit der Reihenfolge und den Trennzeichen fiel mir auch gerade ein. Hab gerade nochmal in meinem schlauen Buch nachgeschaut und keine solche Funktion gefunden. Existiert tatsächlich keine solche Funktion, wird Dir nix anderes übrig bleiben, als eine Prozedur zu programmieren die diesen String auseinandernimmt, richtig wieder zusammensetzt (ohne die Trennzeichen) und es dann in ein Datumsformat umwandelt. Das geht mit DateSerial:
            x = DateSerial(year, month, day)

            Sonst fällt mir grad auch nix besseres ein, sorry.

            MfG
            MarkX.

            1. Hi.
              Dank Dir erst mal. Da werd ich erstmal auf die Antwort von Brinkster warten, ob die mir ein ordentliches Format zur Verfügung stellen können.
              Alternativ:
              Gibt es eine eine syntax  "select datum,.. from..." in der ich as format usw verwenden kann

              bydey

              Das mit der Reihenfolge und den Trennzeichen fiel mir auch gerade ein. Hab gerade nochmal in meinem schlauen Buch nachgeschaut und keine solche Funktion gefunden. Existiert tatsächlich keine solche Funktion, wird Dir nix anderes übrig bleiben, als eine Prozedur zu programmieren die diesen String auseinandernimmt, richtig wieder zusammensetzt (ohne die Trennzeichen) und es dann in ein Datumsformat umwandelt. Das geht mit DateSerial:
              x = DateSerial(year, month, day)

              Sonst fällt mir grad auch nix besseres ein, sorry.

              MfG
              MarkX.

              1. Hi,

                Brinkster hat sicherlich einen englischsprachigen IIS mit englischen Regionaleinstellungen. Damit wirst du ohne entsprechende Direktiven für LCID = 1031 nie ein deutsches Format erhalten.

                Ansonsten lautet der Befehl schon so:

                FormatDateTime(datevariable,formatEnumarationValue)

                die Enumerationvalues sind

                vbGeneralDate = 0
                Anzeigen von Datum und/oder Uhrzeit. Gibt es einen Datumsanteil, wird dafür das kurze Datumsformat verwendet. Gibt es einen Zeitanteil, erfolgt die Anzeige mit dem langen Zeitformat. Wenn vorhanden, werden beide Teile angezeigt.

                vbLongDate = 1
                Anzeigen eines Datums im langen Datumsformat Ihrer Ländereinstellungen.

                vbShortDate = 2
                Anzeigen des Datums im kurzen Datumsformat Ihrer Ländereinstellungen.

                vbLongTime = 3
                Anzeige einer Zeit im Format entsprechend den Ländereinstellungen des Computers.

                vbShortTime = 4
                Anzeige einer Zeit im 24-Stunden-Format (hh:mm).

                Viel Spaß!!!

                Tschau, Frank

  2. Hi

    Gibt es asp eine Entprechung?
    Problem Brinkster ist nach amerikanischer Darstellung formattiert.
    mm/dd/yyyy

    bydey

    Selbst ist der...löschen... die frau und auch der mann

    <%strsql =   "select teamhome, teamguest, status, schiri, wo,"
    strsql=strsql&" Format([datum],'mm/dd/yyyy') AS datum from bsvfm1 order by datum;"

    Shit. Es funktioniert nur nicht!!!
    I teste gerade lokal und versuch den schritt in die andere Richtung.
    Mein IIS deutsch soll jetzt english anzeigen. Macht der aber auch nicht. Streckt mir doch glatt die Zunge raus. ;oP

    Noch einer ne Idee?

    bydey

    1. Juhu.
      jetzt funzt es.

      Mein IIS deutsch soll jetzt english anzeigen. Macht der aber auch nicht. Streckt mir doch glatt die Zunge raus. ;oP

      Und das zu recht. Hatte noch die formatsgeschichte vom ASP in der Zeile FormatDateTime(objrs1("datum"), 0)

      Aber es rennt jetzt.
      Ich würd mich ja selbst zur Archivierung vorschlagen aber das ist ja peinlich!
      Noch was für Faule

      select *,foemat.. da muss man nicht jedes Fled tippen!

      strsql = "select *, Format([ndate1],'dd.mm.yy hh:mm') AS ndate1"
      strsql=strsql&" from bsvfn1 order by ndate1 desc;"

      cubydey
      wenn ihr es anschauen wollt?
      http://www26.brinkster.com/bydey/bsv/