2010-02-10 5 views

Répondre

4

Vous pouvez utiliser Date::Parse:

use Date::Parse; 
print str2time('10/02/2010 00:00:00'); 

Sur ma machine imprime cette 1.285.970.400, qui corresponds au 2 Octobre, 2010

7

sans localtime():

use Time::Local;  
$time = timelocal($sec,$min,$hour,$mday,$mon,$year); 

(voir perldoc)

A standar d façon serait quelque chose comme:

use POSIX; 

use strict; 
use warnings; 

my $sec = 0; 
my $min = 0; 
my $hour = 0; 
my $day = 10; 
my $mon = 2 - 1; 
my $year = 2010 - 1900; 
my $wday = 0; 
my $yday = 0; 

my $unixtime = mktime ($sec, $min, $hour, $day, $mon, $year, $wday, $yday); 
print "$unixtime\n"; 

my $readable_time = localtime($unixtime); 
print "$readable_time\n" 

(De http://www.adp-gmbh.ch/perl/posix/convert_time.html)

2

Le module DateTime devrait être utile ici. En particulier, je crois que le module DateTime::Format::Natural peut analyser une chaîne de date fournie par l'utilisateur. De là, vous avez un objet DateTime et pouvez l'imprimer ou le transformer comme vous le souhaitez.

+2

Le module DateTime est extrêmement flexible et est mon choix préféré pour les manipulations de date et d'heure complexes (en particulier, calculer le lever et le coucher du soleil pour différents endroits lorsque je voyage autour du monde). Cependant DateTime est lourd et a beaucoup de dépendances. Donc, si c'est la simplicité que vous voulez, alors utiliser le module intégré Time :: Local peut être une approche à considérer. –

1

Selon l'endroit où votre date initiale vient de vous pourriez être en mesure d'analyser en utilisant

Date :: Manip

et appeler

ParseDate ("10/02/2010 ")

Vous pouvez alors prendre à la sortie et le convertir dans le format que vous souhaitez.

10

Vous pouvez utiliser (je vis à +1 GMT +1 avec Wintertime.) le module de base Time::Local:

use Time::Local 'timelocal'; 
my ($d, $m, $y) = split '/', '10/02/2010'; 
my $time = timelocal(0, 0, 0, $d, $m-1, $y); 

Notez que l'argument mois pour timelocal() est dans la gamme 0..11

+0

Je préfère cette approche. –

Questions connexes