Ruby/Time

Aus Scientia
Wechseln zu: Navigation, Suche

Was ist das?

Mit dem Befehl könnt ihr eine Uhrzeit als String darstellen.

Die Systemzeit auslesen

Mit dem Befehl

time = Time.now

erhält man eine Instanz der Time-Klasse, die die aktuelle Systemzeit enthält. Auf die einzelnen Daten kann man dann folgendermaßen zugreifen:

time = Time.now
seconds = time.sec
minutes = time.min
hours = time.hour
day = time.day
month = time.month
year = time.year

Die Zeit als String darstellen

Will man die aktuelle Uhrzeit in einem Fenster anzeigen, so muss sie vorher in einen String umgewandelt werden. Hierfür gibt es die Methode stftime. Sie wird auf das Time-Objekt angewandt und erhält als Parameter einen String, der angibt wie die Zeit formatiert dargestellt werden soll.

time =  Time.now
# Es ist 18:00 Uhr
str = time.strftime("Es ist %H:%M Uhr")
# Wir leben im Jahre 2011
str = time.strftime("Wir leben im Jahre %Y"

Die Kontrollzeichen, bestehend aus einem % gefolgt von einem Buchstaben, werden dann durch die jeweilige Zeitangabe ersetzt.

Werte

  • %A = Wochentag, lang (Sunday)
  • %a = Wochentag, kurz (Sun)
  • %B = Monat, lang (January)
  • %b = Monat, kurz (Jan)
  • %c = komplettes Datum
  • %d = Tag (01..31)
  • %H = Stunde im 24 Format (00..23)
  • %I = Stunde im 12-Format (01..12)
  • %j = Tage, seit Jahresbeginn (001..366)
  • %M = Minuten (00..59)
  • %m = Monat (01..12)
  • %p = Meridiananzeige/Anzeige ob es vormittags oder nachmittags ist (``AM oder ``PM)
  • %S = Sekunden (00..60)
  • %U = "x"te Woche im Jahr (beginnt mit dem ersten Sonntag als erstem Tag der ersten Woche) (00..53)
  • %W = "x"te Woche im Jahr (beginnt mit dem ersten Montag als erstem Tag der ersten Woche) (00..53)
  • %w = Wochentag (als Zahl) "0=Sonntag; 1=Montag; 2=Dienstag; ...; 6=Samstag"
  • %X = Uhrzeit
  • %x = Datum
  • %Y = Jahr (vier Ziffern)
  • %y = Jahr (nur die lezten 2 Ziffern) (00..99)
  • %Z = Zeitzone
  • %z = Zeitzone
  • %% = Zeigt Zeichen an