michaeltryl Seniormester
13. januar 2018 - 22:05 Der er 5 kommentarer

Tæl antal måneder, uger, dage....

Hej
Sidder og bøvler med lidt udregninger.
Jeg har f.eks.

39 dage mellem 2 datoer
Nu vil jeg godt udregne
Antal måneder
Antal uger
Antal dage

Så f. Eks er 39 dage
1 måned
1 uge
2 dage

Hvordan ser den udregning ud :)
erikjacobsen Forsker
13. januar 2018 - 23:51 #1
Kan du beskrive nærmere hvad du egentlig ønsker. Måneder kan være 28, 29, 30 eller 31 dage lange. Hvordan skal dine beregninger se ud i de tilfælde?
olsensweb.dk Ekspert
14. januar 2018 - 09:38 #2
du kan lave en tilnærmelses beregning med % og /

<?php
$days = 39;

$month = floor($days / 30);
$days = $days % 30;
$weeks = floor($days / 7);
$days = $days % 7;

echo $month . " " . $weeks . " " . $days;
?>


men erikjacobsen er inde på det rigtige med #1, så det rigtige vil være at tage mellem 2 datoer med date_diff
http://php.net/manual/en/function.date-diff.php
https://stackoverflow.com/questions/10427694/php-difference-in-months-between-two-dates
https://stackoverflow.com/questions/3028491/php-weeks-between-2-dates
https://stackoverflow.com/questions/14519187/calculate-months-years-and-days-between-two-given-dates-as-timestamp
michaeltryl Seniormester
14. januar 2018 - 09:59 #3
Tak forslagene.
Jeg kigger på dem.
Indtil videre er min udregning sådan her
Hvor forskellen er forskellen i sekunder mellem 2 datoer.
Gik fra dage, til sekunder da det gav nogle andre muligheder.

$maaneder = floor(($forskel-$tid[years]*31556926)/2629743.83);
$uger = floor(($forskel-$tid[years]*31556926-$maaneder*2629743.83)/604800);
$dage = floor(($forskel-$tid[years]*31556926-$maaneder*2629743.83-$uger*608400)/86400);
arne_v Ekspert
14. januar 2018 - 16:18 #4
Selv med to tider og specifik tidsforskel kan maaneder godt blive et noget uldent begreb.

Hvad er (31/1 + 1 maaned) - 1 maaned?

:-)
arne_v Ekspert
14. januar 2018 - 16:32 #5
PHP siger 3/2.

:-)

<?php
$dt = new DateTime();
$dt->setDate(2018, 1, 31);
$dt->add(new DateInterval('P1M'));
$dt->sub(new DateInterval('P1M'));
echo $dt->format('d/m/Y');
?>
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
Fire gange større end næststørste leverandør: Offentlige indkøbere bør følge Ateas dominerende markedsposition tæt
Atea er fire gange større end den næststørste hardware-leverandør til det offentlige. Situationen skal følges skarpt af offentlige indkøbsorganisationer, så det ikke ender med dårlig konkurrence, lyder opråbet.
Computerworld
Få mere fra hånden med det nye Gmail: Her er de første billeder af Googles nye mail-satsning
Google vil gøre Gmail enklere og mere produktiv i de kommende uger. Se hvordan det nye Gmail tager sig ud her.
CIO
Allersidste opdatering på vej: Om en uge er det slut med stor-version af Windows 10 - skynd dig at opdatere
Om en uge er det slut for altid med den første store udgave af Windows 10, som Microsoft efter 29 måneder ikke længere vil supportere.
Job & Karriere
Klassiske brokere af it-konsulenter står over for kæmpe udfordring - forretningsmodellen er under pres
Klumme: Eksterne konsulenter er populære og en god løsning i en branche i vækst. Men selve forretningsmodellen bag it-konsulenterne er under alvorligt pres.
White paper
Digitalisering i verdensklasse: Lær af finanssektorens erfaringer og nye syn på infrastruktur
Digitaliseringen buldrer afsted i erhvervslivet, men få brancher er så langt fremme som finanssektoren i bestræbelserne på digital transformation. Det har resulteret i en masse erfaringer om blandt andet hybrid infrastruktur, som andre kan drage nytte af. Læs i dette whitepaper udarbejdet af IDC for Interxion om udviklingen, den nye tankegang og de umiddelbare fordele. 12 sider på engelsk.