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 Professor
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
Ny Chrome-version kan føre til et gennembrud for PWA'erne: Google og Microsoft satser på denne nye type apps
Progressive web apps - eller PWA’er - kommer du til at høre meget mere til. Både Microsoft og Google har kastet deres kærlighed på disse apps. Se her, hvad de to selskaber ser i PWA’erne.
Computerworld
Google indfører Android-gebyr efter kæmpe EU-bøde: Android-producenter skal nu betale for brug af Google-tjenester
Efter sommerens kæmpe EU-bøde indfører Google licensbetaling for Android-producenters brug af blandt andet Play Store. Men "Android vil forblive gratis og open source," lyder det fra selskabet.
CIO
Forleden reparerede en mekaniker min bil: Det kostede 4.200 kroner, som min hjerne snød mig til at betale med et smil
De rationelle it-beslutninger du træffer er måske en illusion. Det lærte jeg da min bil gik i stykker og min hjerne snød mig til at tro, at alt var fint. Til gengæld fandt jeg tre fælder dine it-beslutninger kan falde i.
Job & Karriere
Her er syv job-annoncer der overrasker med helt usædvanlige overskrifter
Der er mange ledige it-job i øjeblikket. It-jobbank har her fundet syv spændende stillinger, der har det til fælles, at annoncen har en utraditionel overskrift.
White paper
Undgå fælderne når du skal lease multimaskiner – her er 5 tips!
Markedet for leasing af print- og kopiløsninger kan være lidt af en jungle uden nøje brancheindsigt. Virksomheder og institutioner har i flere tilfælde accepteret kontrakter, som har bundet dem til unødigt kostbare og langvarige leasing-og lejeforløb. Underskriften er desværre bindende og derfor er det en god idé at sætte sig ind i aftalerne. I dette whitepaper giver vi dig 5 tips, så du sikrer dig de bedste vilkår.