![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| beräkningar i awk / sed | anchal_khare | Shell-programmering och Skript | 3 | 03-26-2009 11:41 |
| Datum Beräkningar | mitschcg | UNIX for Dummies Frågor & Svar | 8 | 03-06-2009 04:40 |
| ksh, beräkningar använder bc | cesarNZ | Shell-programmering och Skript | 2 | 12-14-2008 10:42 |
| Temne Beräkningar | Nysif Steve | UNIX for Dummies Frågor & Svar | 5 | 09-14-2007 08:49 |
| Float beräkningar | sharmavr | UNIX for Dummies Frågor & Svar | 1 | 07-26-2006 02:18 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Behöver du hjälp med Datum beräkningar ksh
Hej Gurus,
Jag skriver ett manus där vi in två datum, ett en från den dag och den andra en till i dag. Jag måste kontrollera att skillnaden mellan två datum är alltid mindre än eller lika med 60 dagar. Jag kunde inte hitta något datum nyttovärde i ksh som kan hjälpa mig med detta. Slutligen är jag som beslutar sig för att skriva ett Java-kod och kalla det från skriptet eftersom det är mycket lättare och snabbare att göra det i Java än i Unix. Kan någon vägleda mig till en väg i UNIX för att göra detta istället för att skriva ett annat skript eller Java eller C-kod för att göra det och kalla det här. Tack på förhand. |
|
||||
|
|
|
||||
|
Citat:
Kod:
colemar@deb:~$ cat days_between
#!/bin/sh
typeset -i days_between
function days_between {
days_between=$((($(date -d $2 +%s)-$(date -d $1 +%s))/86400))
}
days_between $1 $2
echo $days_between
colemar@deb:~$ ./days_between 2008-04-22 2009-04-22
365
|
|
||||
|
Colemar,
Tack för din hjälp. Jag har provat det och det är vad som har hänt. Citat:
Jag gjorde gå igenom manus som du skickade men jag ansåg att det är för lång och stor för att gå igenom för detta lilla validering. Tack så mycket för din tid och kraft men. Det finns en strategi jag konstruerade jag och jobbar på det just nu. Jag skapar en array som ska innehålla antalet dagar som förflutit i slutet av varje månad under kalenderåret. Baserat på den månad som trädde jag kan få det antal dagar som gått i slutet av föregående månad, lägg den med den dagen i den månad in och få antal dagar förflutit under året. Om skillnaden är negativ, vilket innebär att året har förändrats. Jag hoppas att den logiken kommer att fungera. När koden är klar jag kommer att klistra in den för andra som kan använda den. Tack ännu en gång. Jag uppskattar det verkligen. |
|
||||
|
Citat:
Kod:
var=$(./datecalc -a 2009 04 22 - 2008 04 22) echo $var |