Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: alternativní aplikace k "DateDiff"  (Přečteno 6738 krát)

Martin Bajer

  • Návštěvník
  • Příspěvků: 77
    • http://fict10n.net/
alternativní aplikace k "DateDiff"
« kdy: 11 Února 2010, 10:07:39 »
Ahoj,
 ve firemním prostředí používáme pod Windows program DateDiff, http://www.kobayashi.com/datediff. Nyní připravuji migraci na 10.04 a hledám něco pro GNOME (v nouzi i KDE/QT). Znáte někdo něco podobného? Rád bych se obešel bez Wine. Díky za jakýkoliv tip.

petergula

  • Stálý člen
  • **
  • Příspěvků: 1016
Re: alternativní aplikace k "DateDiff"
« Odpověď #1 kdy: 11 Února 2010, 14:59:13 »
No ak vies trosku javu alebo iny programovaci jazyk, tak si datediff urobis za par minut. Teda ak som nieco neprehliadol na tej webovej stranke.

ntbk Dell 6420 (Amd Ati, Intel i7, 4GB RAM, 256GB SSD ...)
secondary/u svokrovcov:
Xubuntu (64bit) ntbk Asus A6Je (Ati X1450, Intel Core2Duo T5500, 2.5GB RAM ...)

LuciusMare

  • Závislák
  • ***
  • Příspěvků: 1749
Re: alternativní aplikace k "DateDiff"
« Odpověď #2 kdy: 11 Února 2010, 15:47:17 »
Zjevně neumí, jinak by to nepotřeboval hledat ;)
Citace
<Firzen> tak teď budu Číňan
<Firzen> tak uvidíme :D
Jabber: LuciusMare (zkroucenina) jabbim (tecka) cz

petergula

  • Stálý člen
  • **
  • Příspěvků: 1016
Re: alternativní aplikace k "DateDiff"
« Odpověď #3 kdy: 11 Února 2010, 16:04:20 »
Zjevně neumí, jinak by to nepotřeboval hledat ;)
Mozno vie, ale je len lenivy :)

K veci: alternativu nepoznam :)
ntbk Dell 6420 (Amd Ati, Intel i7, 4GB RAM, 256GB SSD ...)
secondary/u svokrovcov:
Xubuntu (64bit) ntbk Asus A6Je (Ati X1450, Intel Core2Duo T5500, 2.5GB RAM ...)

premet

  • Host
Re: alternativní aplikace k "DateDiff"
« Odpověď #4 kdy: 11 Února 2010, 16:35:43 »
Při učení se GTK sem napsal (sice hnusně) program pro výpočet rozdílu dvou dnů. Není to sice tak vymakaný jako DateDiff, ale nevím co vše u toho potřebuješ. Ten můj ti napíše jen rozdíl, kolik je to roků, měsíců a dnů.

Tak jestli to chceš vyzkoušet, tak to sem hodím.


petergula

  • Stálý člen
  • **
  • Příspěvků: 1016
Re: alternativní aplikace k "DateDiff"
« Odpověď #5 kdy: 11 Února 2010, 16:38:24 »
Java bez GUI(brat s rezervou, venoval som tomu asi 10min zivota :) ):
Kód: [Vybrat]
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/**
 * DateDiff -- compute the difference between two dates.
 */
public class DateDiff {
static SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
static SimpleDateFormat sdf2 = new SimpleDateFormat("EEEE, MMM d, yyyy");

/**
* @param argv
*            parameters
*/
public static void main(String[] argv) {
if (argv.length != 2 && argv.length != 3) {
printUsage();
System.exit(-1);
}

try {
Date d1 = sdf.parse(argv[0]);
Date d2 = sdf.parse(argv[1]);
// Get msec from each, and subtract.
long diff = d2.getTime() - d1.getTime();

System.out.println("Difference in days: " + (diff / (1000 * 60 * 60 * 24)));
System.out.println("Difference in hour: " + (diff / (1000 * 60 * 60)));
System.out.println("Difference in minutes: " + (diff / (1000 * 60)));
System.out.println("Difference in seconds: " + (diff / 1000));

if (argv.length == 3) {
Calendar gc = GregorianCalendar.getInstance();
gc.setTimeInMillis(d1.getTime());
gc.add(GregorianCalendar.DATE, Integer.parseInt(argv[2]));
System.out.println("" + d1 + " plus " + argv[2] + " days is " + sdf2.format(gc.getTime()));
}
} catch (ParseException e) {
printUsage();
e.printStackTrace();
System.exit(-1);
}
}

private static void printUsage() {
System.out.println("Usage: java " + DateDiff.class.getName() + " date1 date2 [plus_days]");
System.out.println("date1 date2 is in 'yyyy.MM.dd format'.");
}
}
« Poslední změna: 11 Února 2010, 16:40:09 od petergula »
ntbk Dell 6420 (Amd Ati, Intel i7, 4GB RAM, 256GB SSD ...)
secondary/u svokrovcov:
Xubuntu (64bit) ntbk Asus A6Je (Ati X1450, Intel Core2Duo T5500, 2.5GB RAM ...)

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: alternativní aplikace k "DateDiff"
« Odpověď #6 kdy: 11 Února 2010, 16:49:15 »
BASH s GUI!!  ;D
Kód: [Vybrat]
Jedna=$(zenity --calendar --text "Vyber počáteční datum")
Dve=$(zenity --calendar --text "Vyber koncové datum")

S1=$(date --date="$Jedna" +%s)
S2=$(date --date="$Dve" +%s)
[[ $S1 -gt $S2 ]] && { zenity --info --text "Špatně vybraná data!"; exit 1; }

Rozdil=$(($S2 - $S1))
Dnu=$(($Rozdil / 86400))
zenity --info --text "Rozdíl ve dnech je $Dnu"

exit 0
http://www.openstreetmap.org - mapy celého světa "wiki style"

premet

  • Host
Re: alternativní aplikace k "DateDiff"
« Odpověď #7 kdy: 11 Února 2010, 18:22:47 »
Arrange:

Takhle to nefunguje, zrovna něco podobnýho chci použít ve skriptu pro známého, ale ten rozdíl ve dnech takhle nefunguje, navíc date ten řetězec zkousne jen ve formátu den/měsíc/rok.

petergula

  • Stálý člen
  • **
  • Příspěvků: 1016
Re: alternativní aplikace k "DateDiff"
« Odpověď #8 kdy: 11 Února 2010, 18:30:53 »
Arrange:

Takhle to nefunguje, zrovna něco podobnýho chci použít ve skriptu pro známého, ale ten rozdíl ve dnech takhle nefunguje, navíc date ten řetězec zkousne jen ve formátu den/měsíc/rok.
ja som si ten script skusil a mne funguje, :), ci si myslel nejaky sofistikovanejsi bug?

ntbk Dell 6420 (Amd Ati, Intel i7, 4GB RAM, 256GB SSD ...)
secondary/u svokrovcov:
Xubuntu (64bit) ntbk Asus A6Je (Ati X1450, Intel Core2Duo T5500, 2.5GB RAM ...)

premet

  • Host
Re: alternativní aplikace k "DateDiff"
« Odpověď #9 kdy: 11 Února 2010, 18:33:34 »
Hm tak to je divný, mě ten date funguje jinak
Kód: [Vybrat]
[prema@fedora ~]$ ./bar.sh
date: chybné datum: „1.2.2010“
date: chybné datum: „11.2.2010“
./bar.sh: řádek 10: - : syntaktická chyba: očekáván operand (chybný token je „- “)
./bar.sh: řádek 11: / 86400: syntaktická chyba: očekáván operand (chybný token je „/ 86400“)

Kód: [Vybrat]
[prema@fedora ~]$ date --date=10.2.2010 +%s
date: chybné datum: „10.2.2010“
[prema@fedora ~]$ date --date=10/2/2010 +%s
1285970400

petergula

  • Stálý člen
  • **
  • Příspěvků: 1016
Re: alternativní aplikace k "DateDiff"
« Odpověď #10 kdy: 11 Února 2010, 18:42:37 »
ake mas nastavene locale?
u mna:
Kód: [Vybrat]
gula@gula-laptop:~$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

ntbk Dell 6420 (Amd Ati, Intel i7, 4GB RAM, 256GB SSD ...)
secondary/u svokrovcov:
Xubuntu (64bit) ntbk Asus A6Je (Ati X1450, Intel Core2Duo T5500, 2.5GB RAM ...)

premet

  • Host
Re: alternativní aplikace k "DateDiff"
« Odpověď #11 kdy: 11 Února 2010, 18:43:43 »
Hm, že by to bylo tím ?
Kód: [Vybrat]
[prema@fedora ~]$ locale
LANG=cs_CZ.UTF-8
LC_CTYPE="cs_CZ.UTF-8"
LC_NUMERIC="cs_CZ.UTF-8"
LC_TIME="cs_CZ.UTF-8"
LC_COLLATE="cs_CZ.UTF-8"
LC_MONETARY="cs_CZ.UTF-8"
LC_MESSAGES="cs_CZ.UTF-8"
LC_PAPER="cs_CZ.UTF-8"
LC_NAME="cs_CZ.UTF-8"
LC_ADDRESS="cs_CZ.UTF-8"
LC_TELEPHONE="cs_CZ.UTF-8"
LC_MEASUREMENT="cs_CZ.UTF-8"
LC_IDENTIFICATION="cs_CZ.UTF-8"
LC_ALL=

stym.m

  • Návštěvník
  • Příspěvků: 48
Re: alternativní aplikace k "DateDiff"
« Odpověď #12 kdy: 11 Února 2010, 18:48:18 »
A nebylo by nejjednodušší udělat si jeden vzorec v calcu? Rozdíl vypíše ve dnech, potom je to jenom násobení nebo dělení.

LuciusMare

  • Závislák
  • ***
  • Příspěvků: 1749
Re: alternativní aplikace k "DateDiff"
« Odpověď #13 kdy: 11 Února 2010, 19:08:04 »
Kód: [Vybrat]
$ locale
LANG=cs_CZ.UTF-8
LANGUAGE=
LC_CTYPE="cs_CZ.UTF-8"
LC_NUMERIC="cs_CZ.UTF-8"
LC_TIME="cs_CZ.UTF-8"
LC_COLLATE="cs_CZ.UTF-8"
LC_MONETARY="cs_CZ.UTF-8"
LC_MESSAGES="cs_CZ.UTF-8"
LC_PAPER="cs_CZ.UTF-8"
LC_NAME="cs_CZ.UTF-8"
LC_ADDRESS="cs_CZ.UTF-8"
LC_TELEPHONE="cs_CZ.UTF-8"
LC_MEASUREMENT="cs_CZ.UTF-8"
LC_IDENTIFICATION="cs_CZ.UTF-8"
LC_ALL=
???
Citace
<Firzen> tak teď budu Číňan
<Firzen> tak uvidíme :D
Jabber: LuciusMare (zkroucenina) jabbim (tecka) cz

petergula

  • Stálý člen
  • **
  • Příspěvků: 1016
Re: alternativní aplikace k "DateDiff"
« Odpověď #14 kdy: 11 Února 2010, 19:12:33 »
???

Nerozumiem, co si tym chcel povedat. Len ma napadlo, ci nemoze byt rozdiel v nejakom nastaveni, ked dvom to ide a jednemu nie.
ntbk Dell 6420 (Amd Ati, Intel i7, 4GB RAM, 256GB SSD ...)
secondary/u svokrovcov:
Xubuntu (64bit) ntbk Asus A6Je (Ati X1450, Intel Core2Duo T5500, 2.5GB RAM ...)

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: alternativní aplikace k "DateDiff"
« Odpověď #15 kdy: 11 Února 2010, 19:14:13 »
A webová verze se nehodí? http://www.7is7.com/otto/datediff.html
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

Martin Bajer

  • Návštěvník
  • Příspěvků: 77
    • http://fict10n.net/
Re: alternativní aplikace k "DateDiff"
« Odpověď #16 kdy: 17 Února 2010, 10:37:16 »
Moc všem děkuji za odpovědi. Příjemně mě překvapilo kolik se jich sešlo. Pamatuji doby, kdy GNU/Linux na desktopu v podstatě nikdo nepoužíval :)

Vypadá to, že analogická aplikace neexistuje.
Naprogramovat alternativu neumím. Asi nejsnažší a hlavně uživatelsky nejefektivnější bude vytvořit potřebné výpočty v OOo Calc.

Zaujal mě "BASH s GUI" od arrange. Muselo by se to ale hodně rozšířit, zapracovat zobrazení dvou kalendářů atd. Nejde totiž jen o zjištění rozdílu v datech, ale i např. na jaký prac. či víkendový den vychází třeba 18.3.2010 +43dnů. Program používáme na plánování letecké, lodní a komb. dopravy z dálného východu.

petergula

  • Stálý člen
  • **
  • Příspěvků: 1016
Re: alternativní aplikace k "DateDiff"
« Odpověď #17 kdy: 17 Února 2010, 13:00:44 »
Moc všem děkuji za odpovědi. Příjemně mě překvapilo kolik se jich sešlo. Pamatuji doby, kdy GNU/Linux na desktopu v podstatě nikdo nepoužíval :)

Vypadá to, že analogická aplikace neexistuje.
Naprogramovat alternativu neumím. Asi nejsnažší a hlavně uživatelsky nejefektivnější bude vytvořit potřebné výpočty v OOo Calc.

Zaujal mě "BASH s GUI" od arrange. Muselo by se to ale hodně rozšířit, zapracovat zobrazení dvou kalendářů atd. Nejde totiž jen o zjištění rozdílu v datech, ale i např. na jaký prac. či víkendový den vychází třeba 18.3.2010 +43dnů. Program používáme na plánování letecké, lodní a komb. dopravy z dálného východu.

Ak myslis "analogicka aplikacia" = identicka, tak ano asi neexistuje, lebo ked sa mam priznat nikdy som netusil, ze to moze mat nejake prakticke uplatnenie. Zasa som si rozsiril obzory, vdaka Ti za to.
Co sa tyka veci tu pridanych(rieseni), tak vsetko su to len navrhy zbuchane za par minut, ktore su len nasmerovanim, ako sa dalej uberat. Napr. tebou pozadovane veci sa daju doplnit do bash scriptu, alebo ku mnou pripojenom java kodu sa da lahko urobit GUI v jave, inak vsetko co som videl v Tvojom programe tam uz je funkcne ...
Vsetko je to len o chceni trosku prilozit ruku k dielu. Ako vravi moja mama: "Sam si pomoz a aj boh Ti pomoze." ajked tu asi skor "Sam si pomoz a aj forum Ti pomoze.".
Ak nevies programovat, tak najdi kamarata, alebo tu popros na fore, a mozno sa niekto najde, co do Teba investuje trochu casu, len sa k tomu nestavaj tak, ze 100% to nepokryva to, co robi moj stary program pod ms win, tak na to kaslem.
ntbk Dell 6420 (Amd Ati, Intel i7, 4GB RAM, 256GB SSD ...)
secondary/u svokrovcov:
Xubuntu (64bit) ntbk Asus A6Je (Ati X1450, Intel Core2Duo T5500, 2.5GB RAM ...)

Martin Bajer

  • Návštěvník
  • Příspěvků: 77
    • http://fict10n.net/
Re: alternativní aplikace k "DateDiff"
« Odpověď #18 kdy: 18 Února 2010, 13:31:52 »
Ak myslis "analogicka aplikacia" = identicka, tak ano asi neexistuje, lebo ked sa mam priznat nikdy som netusil, ze to moze mat nejake prakticke uplatnenie. Zasa som si rozsiril obzory, vdaka Ti za to.
Co sa tyka veci tu pridanych(rieseni), tak vsetko su to len navrhy zbuchane za par minut, ktore su len nasmerovanim, ako sa dalej uberat. Napr. tebou pozadovane veci sa daju doplnit do bash scriptu, alebo ku mnou pripojenom java kodu sa da lahko urobit GUI v jave, inak vsetko co som videl v Tvojom programe tam uz je funkcne ...
Vsetko je to len o chceni trosku prilozit ruku k dielu. Ako vravi moja mama: "Sam si pomoz a aj boh Ti pomoze." ajked tu asi skor "Sam si pomoz a aj forum Ti pomoze.".
Ak nevies programovat, tak najdi kamarata, alebo tu popros na fore, a mozno sa niekto najde, co do Teba investuje trochu casu, len sa k tomu nestavaj tak, ze 100% to nepokryva to, co robi moj stary program pod ms win, tak na to kaslem.

Migruji firmu o dvanácti lidech kompletně na GNU/Linux. Na tento prográmek si kolegové zvykli. Nejsnazší mi přišlo hledat pokud možno funkčně identickou alternativu. Jak jsem psal, zkusím potřebné výpočty zapravovat do tabulky v Calcu. Také díky za rozšíření obzorů. Martin

q66

Re: alternativní aplikace k "DateDiff"
« Odpověď #19 kdy: 22 Února 2010, 00:01:24 »
Ak myslis "analogicka aplikacia" = identicka, tak ano asi neexistuje, lebo ked sa mam priznat nikdy som netusil, ze to moze mat nejake prakticke uplatnenie. Zasa som si rozsiril obzory, vdaka Ti za to.
Co sa tyka veci tu pridanych(rieseni), tak vsetko su to len navrhy zbuchane za par minut, ktore su len nasmerovanim, ako sa dalej uberat. Napr. tebou pozadovane veci sa daju doplnit do bash scriptu, alebo ku mnou pripojenom java kodu sa da lahko urobit GUI v jave, inak vsetko co som videl v Tvojom programe tam uz je funkcne ...
Vsetko je to len o chceni trosku prilozit ruku k dielu. Ako vravi moja mama: "Sam si pomoz a aj boh Ti pomoze." ajked tu asi skor "Sam si pomoz a aj forum Ti pomoze.".
Ak nevies programovat, tak najdi kamarata, alebo tu popros na fore, a mozno sa niekto najde, co do Teba investuje trochu casu, len sa k tomu nestavaj tak, ze 100% to nepokryva to, co robi moj stary program pod ms win, tak na to kaslem.

Migruji firmu o dvanácti lidech kompletně na GNU/Linux. Na tento prográmek si kolegové zvykli. Nejsnazší mi přišlo hledat pokud možno funkčně identickou alternativu. Jak jsem psal, zkusím potřebné výpočty zapravovat do tabulky v Calcu. Také díky za rozšíření obzorů. Martin

zítra ten program sem pošlu, v python-gtk (programuju, je to na hodinku..)

Firzen

  • Stálý člen
  • **
  • Příspěvků: 1287
    • Beroot
Re: alternativní aplikace k "DateDiff"
« Odpověď #20 kdy: 22 Února 2010, 01:30:47 »
GTK saje, já to budu mít v Qt :P
AMD Phenom II X6 1100T@3,3GHz, Gigabyte GeForce GT 430 1GiB, 8GiB RAM, 1TiB SATA3 HDD, Nokia N900
OS: Debian 6.0 Squeeze, Maemo 5
Citace
Prosintě ty jsi takový zkušený vývojář - co mám dělat, když nevím, jako něco udělat? :D

premet

  • Host
Re: alternativní aplikace k "DateDiff"
« Odpověď #21 kdy: 22 Února 2010, 08:06:20 »
woow Quejky a GTK ? TO bude konec světa  ?  ;D

kotik

  • Návštěvník
  • Příspěvků: 27
Re: alternativní aplikace k "DateDiff"
« Odpověď #22 kdy: 22 Února 2010, 09:11:00 »
A já se to pro úplnost pokusím spíchnout pro OOo a to včetně zobrazení dnů v měsíci ;)

BTW, co ti vadí na wine?




q66

Re: alternativní aplikace k "DateDiff"
« Odpověď #23 kdy: 22 Února 2010, 13:55:56 »
woow Quejky a GTK ? TO bude konec světa  ?  ;D

psal nejlíp pro gnome a KDE v nouzi :)

tak to dělám v pygtk, přesná kopie se vším všudy

q66

Re: alternativní aplikace k "DateDiff"
« Odpověď #24 kdy: 22 Února 2010, 13:56:39 »
GTK saje, já to budu mít v Qt :P

obojí saje, EFL rules

 

Provoz zaštiťuje spolek OpenAlt.