Schrift
[thread]5879[/thread]

Ist das richtig?: ..



<< >> 6 Einträge, 1 Seite
steinwolf
 2003-11-05 17:08
#69505 #69505
User since
2003-08-04
367 Artikel
BenutzerIn
[default_avatar]
Hi,
sorry für den blöden Titel *g*
aber,
ist der Cofde hier richtig??
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime();
printf ("Heute ist der %02i.%02i.%04i<br>", $mday, $mon+1, $year+1900);

und wenn ja, warum muss ich beim Jahr 1900 addieren und beim Monat 1 und bei den anderen Angaben garnichts??
"Did you know? You can use your old motor oil to fertilize your lawn." - Blinkster - Professionelles EDV Forum
havi
 2003-11-05 17:11
#69506 #69506
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Sorry, aber in perldoc ist alles wunderbar beschrieben!

Code: (dl )
perldoc -f localtime


Gruss
havi
 2003-11-05 17:13
#69507 #69507
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Das sagt perldoc:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
C:\>perldoc -f localtime
localtime EXPR
Converts a time as returned by the time function to a 9-element
list with the time analyzed for the local time zone. Typically
used as follows:

# 0 1 2 3 4 5 6 7 8
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
localtime(time);

All list elements are numeric, and come straight out of the C
`struct tm'. $sec, $min, and $hour are the seconds, minutes, and
hours of the specified time. $mday is the day of the month, and
$mon is the month itself, in the range "0..11" with 0 indicating
January and 11 indicating December. $year is the number of years
since 1900. That is, $year is "123" in year 2023. $wday is the
day of the week, with 0 indicating Sunday and 3 indicating
Wednesday. $yday is the day of the year, in the range "0..364"
(or "0..365" in leap years.) $isdst is true if the specified
time occurs during daylight savings time, false otherwise.

Note that the $year element is *not* simply the last two digits
of the year. If you assume it is, then you create
non-Y2K-compliant programs--and you wouldn't want to do that,
would you?

The proper way to get a complete 4-digit year is simply:

$year += 1900;

And to get the last two digits of the year (e.g., '01' in 2001)
do:

$year = sprintf("%02d", $year % 100);

If EXPR is omitted, "localtime()" uses the current time
("localtime(time)").

In scalar context, "localtime()" returns the ctime(3) value:

$now_string = localtime; # e.g., "Thu Oct 13 04:54:34 1994"

This scalar value is not locale dependent, see the perllocale
manpage, but instead a Perl builtin. Also see the "Time::Local"
module (to convert the second, minutes, hours, ... back to
seconds since the stroke of midnight the 1st of January 1970,
the value returned by time()), and the strftime(3) and mktime(3)
functions available via the POSIX module. To get somewhat
similar but locale dependent date strings, set up your locale
environment variables appropriately (please see the perllocale
manpage) and try for example:

use POSIX qw(strftime);
$now_string = strftime "%a %b %e %H:%M:%S %Y", localtime;

Note that the "%a" and "%b", the short forms of the day of the
week and the month of the year, may not necessarily be three
characters wide.


C:\>


Gruss
steinwolf
 2003-11-05 17:17
#69508 #69508
User since
2003-08-04
367 Artikel
BenutzerIn
[default_avatar]
Zitat: "$mon is the month itself, in the range "0..11" with 0 indicating
January and 11 indicating December."

AHAAAA, die Erleuchtung *g*
Danke Havi
"Did you know? You can use your old motor oil to fertilize your lawn." - Blinkster - Professionelles EDV Forum
havi
 2003-11-05 17:23
#69509 #69509
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Ich koennte jetzt sagen, wer vorher liest ist klar im Vorteil, aber das du ich nicht.

Ups, jetzt hab ich es ja doch getan :)

Bitteschoen!

Gruss

Edit: Doppelposting von meiner Seite geloescht...

Gruss\n\n

<!--EDIT|havi|1068045876-->
Crian
 2003-11-05 17:44
#69510 #69510
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Man könnte auch einfach sagen "weil localtime den Monat-1 und das Jahr-1900 ausgibt" ... aber die Verweise auf perldoc sind natürlich besser :-)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 6 Einträge, 1 Seite



View all threads created 2003-11-05 17:08.