2012-31-07 mínus 1 mesiac = ?

2012-31-07 mínus 1 mesiac = ?
« kdy: 28. 08. 2012, 15:04:30 »
Čo podľa vás znamená "mesiac dozadu" z 2012-31-07?
php tvrdí 2012-07-01
mysql tvrdí 2012-06-30

Kto má pravdu? Je to zle položená otázka? Existuje k tomu správna odpoveď, napríklad podľa iso?


Diskobolos

Re:2012-31-07 mínus 1 mesiac = ?
« Odpověď #1 kdy: 28. 08. 2012, 15:21:08 »
Bash má vždycky pravdu:  ::)

> date -d "2012-07-31 -1 month" +%Y-%m-%d
2012-07-01

jehovista

Re:2012-31-07 mínus 1 mesiac = ?
« Odpověď #2 kdy: 28. 08. 2012, 15:41:12 »
to zalezi na dohode

Re:2012-31-07 mínus 1 mesiac = ?
« Odpověď #3 kdy: 28. 08. 2012, 15:42:32 »
Obojí je "správně".

Podstatné je, aby splňovalo:
Kód: [Vybrat]
a <= b -> a+n <= b+n
Jakkoli se to zdá samozřejmé, tak už jsem viděl implementace, které z 31.1. + měsíc udělaly 3. březen...

RDa

Re:2012-31-07 mínus 1 mesiac = ?
« Odpověď #4 kdy: 29. 08. 2012, 09:01:15 »
Nedavno jsem resil nastavovani hodin na mikrokontroleru - internet pouzivam unix time, takze to dalo celkem zabrat to napasovat na lidskou reprezentaci kalendare - ale co je podstatne - pri zmene mesice jsem jen zkontroloval zda existuje stejny den, pokud ne (vedlejsi mesic je kratsi) tak jsem zmenil den na maximalni mozny.


alfi

  • ****
  • 324
    • Zobrazit profil
    • E-mail
Re:2012-31-07 mínus 1 mesiac = ?
« Odpověď #5 kdy: 29. 08. 2012, 09:47:05 »
a co znamená "měsíc"? :-) měsíc červenec znamená 31 dnů, měsíc únor 28, občas taky 29.. s takovou nestálou jednotkou se pak těžko počítá :) není lepší rovnou počítat 30 dnů.. nebo třeba 4 týdny? :)

MK

Re:2012-31-07 mínus 1 mesiac = ?
« Odpověď #6 kdy: 29. 08. 2012, 11:33:45 »
Presne tak, zalezi na tom, co chapes jako mesic. Napriklad pro ucely jedne moji aplikace jsem potreboval akorat ultima mesicu, jine dny me nezajimaly. Takze u me je napr. 30.6. + 1 mesic = 31.7.  nebo 28.2. - 1 mesic = 31.1.

Opravdu zalezi na dohode :-)

host

Re:2012-31-07 mínus 1 mesiac = ?
« Odpověď #7 kdy: 29. 08. 2012, 11:52:52 »
mesiac NIE JE definovany ako 30 dni, v ziadnom kalendari. MySQL ma v tomto pripade pravdu. 

Lol Phirae

Re:2012-31-07 mínus 1 mesiac = ?
« Odpověď #8 kdy: 29. 08. 2012, 12:03:40 »
Ptáš se na blbym místě, kdybys zašel k advokátovi, tak už máš jasno.

Citace
Konec lhůty určené podle týdnů, měsíců nebo let připadá na den, který se pojmenováním nebo číslem shoduje se dnem, na který připadá událost, od níž lhůta počíná. Není-li takový den v posledním měsíci, připadne konec lhůty na jeho poslední den.

 ;D ;D ;D

MK

Re:2012-31-07 mínus 1 mesiac = ?
« Odpověď #9 kdy: 29. 08. 2012, 12:10:25 »
2 host: tohle neni pravda. Pro urcity financni vypocty se nekdy pocita s tim, ze kazdy mesic ma 30 dni.
Ve financich existuji tri standardy: ACT/365, ACT/360, 30E/360. Ten posledni znamena, ze kazdy mesic ma 30 dni a rok ma 360 dni.

Takze pravdu ma kazdy :-) zalezi na dohode.

Karol

Re:2012-31-07 mínus 1 mesiac = ?
« Odpověď #10 kdy: 29. 08. 2012, 16:03:12 »
Tak pokud dotaz neznel dle jake normy apod. je pravdive jenom ten pravni nazor. Bo s neho vypliva, ze nebude mit opletacky s financnakem apod.  A to ze si nekdo v bance pocita jinek je hezke, u soudu budou brat to pravni pocitani...

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:2012-31-07 mínus 1 mesiac = ?
« Odpověď #11 kdy: 29. 08. 2012, 16:57:15 »
Citace
Konec lhůty určené podle týdnů, měsíců nebo let připadá na den, který se pojmenováním nebo číslem shoduje se dnem, na který připadá událost, od níž lhůta počíná. Není-li takový den v posledním měsíci, připadne konec lhůty na jeho poslední den.
LOL