21. januar 2005 - 10:07
Der er
8 kommentarer og 1 løsning
string til integer
Hi, --------------------------------- $string = "1970"; my @gmtTime = qw(0 0 0 1 0 $string); $time_gm = timegm(@gmtTime); print "gmt: $time_gm\n"; --------------------------------- den printer ikke 0, som den burde. Og det er pga. at jeg har sættet 1970 som string. men det bliver jeg altså nødt til, fordi jeg får 1970 som string ud af et filnavn. nogen som ved, hvordan man kan løse problemet?
Annonceindlæg fra Deloitte
21. januar 2005 - 10:51
#1
jeg tror ikke det er fordi det er en streng det går galt: use strict; use Time::Local; my $test = 0; my $string = "1970"; $test += $string; my @gmtTime = qw(0 0 0 1 0 $test); my $time_gm = timegm(@gmtTime); print "gmt: $time_gm\n"; print "$test\n"; exit 0; giver: gmt: 946684800 1970
21. januar 2005 - 10:53
#2
use strict; use Time::Local; my $test = 0; my $string = "1970"; $test += $string; my @gmtTime = qw(0 0 0 1 0 $test); my $time_gm = timegm(@gmtTime); print "gmt: $time_gm\n"; print "$test\n"; my $local_time = localtime($time_gm); print "$local_time\n"; exit 0; giver: gmt: 946684800 1970 Sat Jan 1 01:00:00 2000
21. januar 2005 - 11:00
#3
jeg tror at fejlen ligger i my @gmtTime = qw(0 0 0 1 0 $test); måske skal du bruge my @gmtTime = qq(0 0 0 1 0 $test);
21. januar 2005 - 11:01
#4
use strict; use Time::Local; my $test = 0; my $string = "1970"; $test += $string; my @gmtTime = qw(0 0 0 1 0 $test); my $time_gm = timegm(@gmtTime); my ($sec,$min,$hour,$mday,$mon,$year) = @gmtTime; print "gmt: $time_gm\n"; print "$sec,$min,$hour,$mday,$mon,$year\n"; exit 0; giver: gmt: 946684800 0,0,0,1,0,$test
21. januar 2005 - 11:01
#5
mhhh ... så læser perl det, som står i paranteserne måske som en string? ... og så er sub { $string = $_[0]; }
21. januar 2005 - 11:06
#6
jeps - den tager ikke værdien af variablen men variablen-navnet
21. januar 2005 - 11:07
#7
use strict; use Time::Local; my $test = 0; my $string = "1970"; $test += $string; my @gmtTime = (0, 0, 0, 1, 0, $test); my $time_gm = timegm(@gmtTime); my ($sec,$min,$hour,$mday,$mon,$year) = @gmtTime; my $time2 = timegm($sec,$min,$hour,$mday,$mon,$year); print "gmt: $time_gm\n"; print "gmt : $time2\n"; print "$sec,$min,$hour,$mday,$mon,$year\n"; exit 0; giver: Hit ENTER or type command to continue gmt: 0 gmt : 0 0,0,0,1,0,1970
21. januar 2005 - 11:10
#8
#!/usr/bin/perl use Time::Local; $string = "1970"; $gmtTime [0] = 0; $gmtTime [1] = 0; $gmtTime [2] = 0; $gmtTime [3] = 1; $gmtTime [4] = 0; $gmtTime [5] = $string; #my @gmtTime = qw(0 0 0 1 0 $string); $time_gm = timegm(@gmtTime); print "gmt: $time_gm\n";
21. januar 2005 - 11:20
#9
ja - jeg brugte en implicit array i mit eksempel ...
Kurser inden for grundlæggende programmering