Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Pracovní prostředí => Téma založeno: Martin Bajer 11 Února 2010, 10:07:39

Název: alternativní aplikace k "DateDiff"
Přispěvatel: Martin Bajer 11 Února 2010, 10:07:39
Ahoj,
 ve firemním prostředí používáme pod Windows program DateDiff, http://www.kobayashi.com/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.
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: petergula 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.

Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: LuciusMare 11 Února 2010, 15:47:17
Zjevně neumí, jinak by to nepotřeboval hledat ;)
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: petergula 11 Února 2010, 16:04:20
Zjevně neumí, jinak by to nepotřeboval hledat ;)
Mozno vie, ale je len lenivy :)

K veci: alternativu nepoznam :)
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: premet 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.

Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: petergula 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'.");
}
}
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: arrange 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
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: premet 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.
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: petergula 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?

Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: premet 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
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: petergula 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=

Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: premet 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=
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: stym.m 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í.
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: LuciusMare 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=
???
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: petergula 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.
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: Martin Kiklhorn 11 Února 2010, 19:14:13
A webová verze se nehodí? http://www.7is7.com/otto/datediff.html
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: Martin Bajer 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.
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: petergula 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.
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: Martin Bajer 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
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: q66 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..)
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: Firzen 22 Února 2010, 01:30:47
GTK saje, já to budu mít v Qt :P
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: premet 22 Února 2010, 08:06:20
woow Quejky a GTK ? TO bude konec světa  ?  ;D
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: kotik 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?

(http://s1.imgupload.cz/img/199566/AdV9A/DateDiff_wine.png) (http://imgupload.cz/)

Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: q66 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
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: q66 22 Února 2010, 13:56:39
GTK saje, já to budu mít v Qt :P

obojí saje, EFL rules
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: q66 22 Února 2010, 20:04:26
gDateDiff 0.1

by quaker <quaker66@gmail.com>

Download: http://opengeu.linuxfreedom.com/quakerstuff/gdatediff_0.1.tar.gz
Screenshot v příloze příspěvku
Licence: GPL v3, ikona z Tango projektu

v archivu je přiložen jak .deb balíček, tak zdrojový kód s Makefile pro snadnou instalaci(make && sudo make install) a DESTDIR podporou pro balíčkování.

Spuštění: příkaz gdatediff

V případě potřeby je možno bez problému udělat spouštěč.

Program je překladatelný a Makefile má podporu pro nové překlady, zatím je tam čeština.(+ kód je v AJ)

Jazyk použitý pro psaní je Python = žádná kompilace, jen spuštění a grafický toolkit Gtk+ použitý v Gnome.

[attachment deleted by admin]
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: arrange 22 Února 2010, 20:55:35
Takhle to dopadá, když má někdo rád programování :)
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: q66 22 Února 2010, 21:01:07
jen škoda toho Gtk+ :D radši bych použil něco jiného, ale autor tématu chtěl pro Gnome

aspoň jsem si trochu vyzkoušel po delší době Cčkaření zase pythona
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: kotik 23 Února 2010, 07:55:39
quaker66: komu čest, tomu čest, je to paráda

s křížkem po funuse má verze pro OOo:
(http://s2.imgupload.cz/img/-150-150/201195/HfIrU/DateDiff_CALC_screenshot.png) (http://s2.imgupload.cz/img/--/201195/HfIrU/DateDiff_CALC_screenshot.png)
kdyby měl někdo zájem, tak dejte vědět, řádky 6 až 16 je samozřejmě možné skrýt
btw: INT(-1/7)=-1 mne docela vykolejilo (i když je to vlastně logický) :-[
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: q66 23 Února 2010, 14:00:35
quaker66: komu čest, tomu čest, je to paráda

s křížkem po funuse má verze pro OOo:
(http://s2.imgupload.cz/img/-150-150/201195/HfIrU/DateDiff_CALC_screenshot.png) (http://s2.imgupload.cz/img/--/201195/HfIrU/DateDiff_CALC_screenshot.png)
kdyby měl někdo zájem, tak dejte vědět, řádky 6 až 16 je samozřejmě možné skrýt
btw: INT(-1/7)=-1 mne docela vykolejilo (i když je to vlastně logický) :-[

moc hezký! :)
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: Martin Bajer 08 Března 2010, 15:48:01
//EDIT LuciusMare: Víš že můžeš příspěvky i upravovat? ;)
BTW, co ti vadí na wine?

Nic. Wine vnímám jako berličku. Nechci si do systému tahat 'Windows'.


s křížkem po funuse má verze pro OOo:
(http://s2.imgupload.cz/img/-150-150/201195/HfIrU/DateDiff_CALC_screenshot.png) (http://s2.imgupload.cz/img/--/201195/HfIrU/DateDiff_CALC_screenshot.png)
kdyby měl někdo zájem, tak dejte vědět, řádky 6 až 16 je samozřejmě možné skrýt

Ahoj, taky to vypadá moc zajímavě. Zobrazení svátků je důležitá vlastnost. Mohu poprosit o zaslání na email?
Díky.


gDateDiff 0.1

by quaker <quaker66@gmail.com>

Download: http://opengeu.linuxfreedom.com/quakerstuff/gdatediff_0.1.tar.gz
Screenshot v příloze příspěvku
Licence: GPL v3, ikona z Tango projektu

Tak to je úžasné, úplně mě to odrovnalo :) Díky mnohokrát!!
Škoda, že se v Pythonu neorientuji, napadí mě několik zlepšení. Jen jsem se v tom malinko pohrabal, změnil krok na šipkách ze 100 na 10 a vyhodil rozdíly v sekundách, minutách, hodinách, protože mě zajímají jen dny.

Takto to vypadá u mě:


[attachment deleted by admin]
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: play3man 08 Března 2010, 19:51:05
Len tak pre info :D

quaker66: koľko ti trvalo než si sa naučil tak programovať???  ;D ;D ;D
Název: Re: alternativní aplikace k "DateDiff"
Přispěvatel: q66 08 Března 2010, 20:38:24
Len tak pre info :D

quaker66: koľko ti trvalo než si sa naučil tak programovať???  ;D ;D ;D

no zabývám se tím tak rok a půl, python jsem se učil tak dva týdny abych to uměl dobře(už dávno), Cčko trvalo pár měsíců. Před pythonem a Cčkem jsem uměl ještě bash.(tím se zabývám od doby co Linux používám, tzn. polovina 2007)