In perl, calcolo differenza in ore tra due date
In perl, calcolo differenza in ore tra due date
Salve ragazzi sono nuovo del gruppo e avevo bisogno di un aiuto.
Ho due date in questo formato, es:
date1: Fri, 28 June 2022 14:10:12 +0200
date2: Fri, 28 June 2022 17:10:12 +0200
Avrei bisogno di calcolare la differenza tra le due date in termini di ore, nel caso sopra sarebbero 3 ore. Con il valore trovato dovrei poi proseguire con altri passi.
Come potrei risolvere in perl?
Ho due date in questo formato, es:
date1: Fri, 28 June 2022 14:10:12 +0200
date2: Fri, 28 June 2022 17:10:12 +0200
Avrei bisogno di calcolare la differenza tra le due date in termini di ore, nel caso sopra sarebbero 3 ore. Con il valore trovato dovrei poi proseguire con altri passi.
Come potrei risolvere in perl?
Re: In perl, calcolo differenza in ore tra due date
Prima di procedere con il calcolo vero e proprio forse dovresti convertire le stringhe delle date in un tipo di dato più facilmente manipolabile.
Qui ho trovato qualcosa per darti un'idea di cosa intendo:
https://stackoverflow.com/questions/821 ... o-datetime
Se magari provassi a cercare anche su CPAN probabilmente potresti trovare librerie e script che farebbero al caso tuo.
Qui ho trovato qualcosa per darti un'idea di cosa intendo:
https://stackoverflow.com/questions/821 ... o-datetime
Se magari provassi a cercare anche su CPAN probabilmente potresti trovare librerie e script che farebbero al caso tuo.
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
-
- Scoppiettante Seguace
- Messaggi: 363
- Iscrizione: venerdì 10 dicembre 2021, 18:33
- Desktop: fvwm
- Distribuzione: (X)Ubuntu20@home; openSUSE42.3@work
- Sesso: Maschile
- Località: Paneropoli
Re: In perl, calcolo differenza in ore tra due date
Io so farlo solo in mysql (o in Fortran ) o in uno spreadsheet. Ma cercando in rete per "date difference in perl" si trova fin troppa roba.
Inclusi shell script che usano il comando date con opportuni formati.
P.es. ho trovato in giro questo comando sdate che ritorna la mitica data dell'Eternal September ... adesso e' Tue Sep 10528 21:03:53 CEST 1993
Inclusi shell script che usano il comando date con opportuni formati.
P.es. ho trovato in giro questo comando sdate che ritorna la mitica data dell'Eternal September ... adesso e' Tue Sep 10528 21:03:53 CEST 1993
Codice: Seleziona tutto
#! /bin/bash
#
# date since 1993 Sep 01 (actually one day before so 01 is 01 etc.)
orig=$(date --date "1993-08-31 UTC" +%s)
now=$(date +%s)
ds=$(($now - $orig))
dd=$(($ds/(3600*24)))
date "+%a Sep $dd %T %Z 1993"
The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man. (G.B. Shaw)
- DoctorStrange
- Imperturbabile Insigne
- Messaggi: 2855
- Iscrizione: mercoledì 14 ottobre 2015, 9:33
- Desktop: Gnome3
- Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
- Sesso: Maschile
- Località: Roma, Italia
Re: In perl, calcolo differenza in ore tra due date
Io convertirei le date nell'unix epoch. A questo punto si tratterebbe semplicemente di fare una differenza tra due costanti numeriche. Il risultato poi lo convertirsi nuovamente in datetime.
-
- Scoppiettante Seguace
- Messaggi: 363
- Iscrizione: venerdì 10 dicembre 2021, 18:33
- Desktop: fvwm
- Distribuzione: (X)Ubuntu20@home; openSUSE42.3@work
- Sesso: Maschile
- Località: Paneropoli
Re: In perl, calcolo differenza in ore tra due date
E' quello che fa lo script sopra
The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man. (G.B. Shaw)
Re: In perl, calcolo differenza in ore tra due date
Ho tradotto l'esempio qui sopra in perl e sono riuscito nel mio intento, grazieLucio C ha scritto: ↑martedì 28 giugno 2022, 21:05Io so farlo solo in mysql (o in Fortran ) o in uno spreadsheet. Ma cercando in rete per "date difference in perl" si trova fin troppa roba.
Inclusi shell script che usano il comando date con opportuni formati.
P.es. ho trovato in giro questo comando sdate che ritorna la mitica data dell'Eternal September ... adesso e' Tue Sep 10528 21:03:53 CEST 1993
Codice: Seleziona tutto
#! /bin/bash # # date since 1993 Sep 01 (actually one day before so 01 is 01 etc.) orig=$(date --date "1993-08-31 UTC" +%s) now=$(date +%s) ds=$(($now - $orig)) dd=$(($ds/(3600*24))) date "+%a Sep $dd %T %Z 1993"
- vaeVictis
- Imperturbabile Insigne
- Messaggi: 4703
- Iscrizione: venerdì 27 luglio 2012, 17:58
- Desktop: Gnome
- Distribuzione: Ubuntu 20.04 64bit
Re: In perl, calcolo differenza in ore tra due date
Posta la traduzione, pottebbero trarne beneficio anche altri.
Ciao.
Ciao.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
- crap0101
- Rampante Reduce
- Messaggi: 8242
- Iscrizione: martedì 30 ottobre 2007, 6:33
- Desktop: LXDE
- Distribuzione: Ubuntu 18.04.1 LTS
- Sesso: Maschile
- Località: TO
- Contatti:
Re: In perl, calcolo differenza in ore tra due date
per non saper nè leggere nè scrivere (in perl )
Codice: Seleziona tutto
crap0101@orange:/tmp$ cat d.pl
#!/usr/bin/perl
use strict;
use warnings;
use Time::Piece;
my $s_date1 = "Fri, 28 June 2022 14:10:12 +0200";
my $s_date2 = "Fri, 28 June 2022 17:10:12 +0200";
my $date_fmt = "%a, %d %B %Y %H:%M:%S %z";
my $t1 = Time::Piece->strptime($s_date1, $date_fmt);
my $t2 = Time::Piece->strptime($s_date2, $date_fmt);
printf "diff h: %d\n", ($t2 - $t1)->hours;
crap0101@orange:/tmp$ perl d.pl
diff h: 3
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 7 ospiti