Tijd verschil berekenen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van Software Developer! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van ervaren

Bekijk vacature »

Full Stack PHP Developer

Functieomschrijving Ervaren PHP Developer gezocht! Wij zijn op zoek naar een ervaren PHP Developer die het IT team van een organisatie in de regio Ermelo gaat versterken. Voor deze functie zijn we op zoek naar een enthousiaste en breed georiënteerde IT-er die deze innovatieve organisatie nog een stap verder gaat brengen. Wij zijn op zoek naar iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je bent verantwoordelijk voor het samenwerken met een externe partij het is hierbij jouw taak om deze partij uit te dagen op het geleverde werk. Het schrijven van concepten aan de AI

Bekijk vacature »

Oracle Developer / PL SQL

Dit ga je doen Software ontwikkeling aan een internationaal gebruikt pakket; Werken met technieken als Oracle 19c, Toad, PL/SQL, Oracle Forms, Reports en Designer; Meedraaien in internationale projecten; Meedenken over technisch en functioneel ontwerp; Samenwerken met collega's als Informatie Analisten, Testers en Release Managers; Soms wensen en eisen afstemmen met de business. Hier ga je werken Onze klant, een internationaal bekend bedrijf dat essentiële producten maakt waar iedereen graag gebruik van maakt, zoekt versterking in het Software Development team. Samen met 3 developers, een release manager, een informatie analist en 3 testers werk jij aan een systeem waarmee complexe producten

Bekijk vacature »

Front-End Developer

Als Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als Front-End Developer bij Coolblue? Als Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Je krijgt energie van het bedenken van creatieve oplossingen en presenteert dit graag binnen het team. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te

Bekijk vacature »

Sportieve Junior C#.NET developer gezocht!

Bedrijfsomschrijving Wil jij werken aan webapplicaties bij de marktleider binnen de branche? Voor een klant in de buurt van Oosterhout ben ik op zoek naar een Fullstack .NET developer. Dit bedrijf bestaat bijna 10 jaar en is inmiddels uitgegroeid tot marktleider in Nederland en heeft tevens kantoren in meerdere landen in Europa. Dit bedrijf bouwt webapplicaties waarbij internationaal enkele honderdduizenden deelnemers, soms tegelijk, een beroep doen op de realtime data uit deze applicaties. Dit brengt erg veel technische uitdaging met zich mee. Ze ontwikkelen nieuwe applicaties maar ook bestaande applicaties worden uitgebreid en verbeterd. Hier kan jij een onderdeel van

Bekijk vacature »

Programmeur / Developer

Voor een familiebedrijf in Doetinchem, actief in de machinebouw voor de food-sector, zijn wij op zoek naar een programmeur / developer. In deze functie ben je werkzaam in een team van 5 medewerkers. Je werkzaamheden bestaan onder andere uit het verhelderen van requirements vanuit de opdrachtgever, de klant en de afdeling ontwikkeling. Je verricht haalbaarheidsstudies en werkt specificaties uit die je afstemt met de opdrachtgever. Je ontwerpt design in software en stemt af met je collega's. De huidige vision-systemen zijn geschreven in C software, welke draait op een CUDA platform. Je schrijft en codeert software en zal gaan testdraaien. Tot

Bekijk vacature »

Ervaren Software Developer

Functie omschrijving Ben jij een ervaren Software Developer, en heb je ervaring met technieken zoals C#, MS Access & SQL? Vind jij het leuk om maatwerk software te ontwikkelen voor klanten in een specifieke branche? Dan is dit de baan voor jou! Als ontwikkelaar ben jij samen met een team van 12 collega’s verantwoordelijk voor het bouwen van nieuwe functionaliteiten en het uitbreiden van de core applicatie. Belangrijk is dat je ervaring hebt met C# en MS Access. Je bent flexibel en klantvriendelijk ingesteld, omdat het belangrijk is om de klanten zo goed mogelijk van dienst te kunnen zijn. Thuiswerken

Bekijk vacature »

Gezocht: .Net ontwikkelaars met een maatschappelij

Bedrijfsomschrijving Zoek jij als medior .Net ontwikkelaar een inspirerende werkplek bij een bedrijf met maatschappelijk verantwoordelijkheidsgevoel? Dan is deze vacature je op het lijf geschreven. De organisatie bestaat ruim 20 jaar en ze ontwikkelen in house applicaties waarmee de zorgsector enorm mee gebaat is. Jouw applicaties worden gebruikt door duizenden gebruikers waardoor je echt een waardevolle bijdrage kan leveren aan de maatschappij. Het bedrijf is zeer innovatief en vindt een goede werk/privé balans belangrijk. Je krijgt alle mogelijkheden om jezelf verder te ontwikkelen, je werktijden in te delen en daarnaast is het ook mogelijk om deels thuis te werken. Het

Bekijk vacature »

Ervaren C#.NET programmeur

Functieomschrijving Voor een moderne werkgever in regio Prinsenbeek zijn wij op zoek naar een ervaren C#.NET programmeur die graag de uitdaging aangaat. Je houdt je bezig met het ontwikkelen van maatwerk webapplicaties voor diverse klanten, waarbij complexe processen optimaal worden ondersteund. Verder ziet jouw takenpakket er als volgt uit: Ontwikkelen en onderhouden van C#.NET-applicaties; Schrijven van hoogwaardige, herbruikbare codes; Schrijven van technische documentatie en gebruikershandleidingen; Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen; Troubleshooten en oplossen van bugs in softwaretoepassingen; Werken met databases en dataopslagoplossingen; Implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens. Bedrijfsprofiel

Bekijk vacature »

PHP Developer

Functie omschrijving Voor een bedrijf in Den Bosch zoek ik een PHP Developer, die al wat werkervaring heeft. Jij gaat aan de slag met de verdere professionalisering van de interne applicaties en software. In de functie ga je verder: Verdere ontwikkeling eigen CRM systeem, vooral middels PHP; Bouwen van verschillende API's & koppelingen; Meedenken om de software/applicaties te verbeteren/optimaliseren; Aan de slag met de interne tooling. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er werken ruim 70 medewerkers, verdeeld over verschillende afdelingen. De afdeling Development bestaat uit vijf collega's, onder

Bekijk vacature »

Front-end Developer

Dit ga je doen Doorontwikkelen van software; Ontwikkelen en testen van nieuwe functionaliteiten; Implementaties van nieuwe functionaliteiten en updates; Verzorgen van technische migraties naar nieuwe frameworks; Verwerken van incidenten. Hier ga je werken Onze klant, gevestigd in de regio Amsterdam, draagt bij aan het verbeteren van de veiligheid en efficiëntie van de Nederlandse infrastructuur door het ontwikkelen van afgemeten software oplossingen. Zo passen zij location intelligence toe om onderhoud en reparaties efficiënt te laten verlopen. Verder zorgen deze systemen dat incidenten zo snel mogelijk worden opgelost. Als Front-end Developer ben jij samen met je team betrokken met het (door)ontwikkelen van

Bekijk vacature »

Senior PHP developer

Functie Als Senior PHP developer heb je een sterke mening over de architectuur van projecten en de processen binnen het team. Je bent de sparringpartner voor je Team Lead. Ook ondersteun je met jouw kennis de minder ervaren developers in jouw team. Ze werken regelmatig aan projecten vanaf scratch en dit geeft ruimte om voor nieuwe technieken te kiezen. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en

Bekijk vacature »

Ontwikkelaar MS Dynamics 365 Projecten

Samengevat: Deze werkgever is de kwaliteitsdienst in de tuinbouwsector. Ben jij een ervaren ontwikkelaar? Heb jij ervaring met Ms Dynamics 365 BC? Vaste baan: Ontwikkelaar Ms Dynamics 365 BC ICT MBO 3.500 - 5.000 Ontwikkelaar Ms Dynamics 365 BC Ons bedrijf bewaakt en bevordert de kwaliteit van producten, processen en ketens in de tuinbouw. Wij kenmerken zich door openheid, ruimte voor initiatief, collegialiteit en zelfontplooiing. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Functie: Voor de vacature als Ontwikkelaar Ms Dynamics 365 BC Roelofarendsveen MBO

Bekijk vacature »

(Junior) PHP Ontwikkelaar bij een retail bedrijf i

Bedrijfsomschrijving Ben jij een ervaren PHP ontwikkelaar met een passie voor retail en ICT? Wil jij werken in een team dat zich bezighoudt met het ontwikkelen van uitdagende applicaties voor een groot retailbedrijf in Delft? Dan zijn zij op zoek naar jou! Functieomschrijving Als PHP Ontwikkelaar werk je in een team aan de ontwikkeling van applicaties die door de gehele organisatie worden gebruikt. Je bent verantwoordelijk voor het ontwikkelen, testen en implementeren van deze applicaties. Je werkt hierbij nauw samen met andere ontwikkelaars, projectmanagers en stakeholders binnen de organisatie. Je taken bestaan onder andere uit: Ontwikkelen van nieuwe functionaliteiten en

Bekijk vacature »

Pagina: 1 2 volgende »

Jeremy Evers

Jeremy Evers

24/11/2016 11:07:39
Quote Anchor link
Hallo,

Ik ben voor een website aan het berekenen of een restaurant open is. De restaurants zijn vaak tot na middernacht open, zoals 01:00, nu moet ik dus gaan kijken of de huidige tijd voor de tijd is van de sluitingstijd, enkel ondervind ik wat problemen mee. Tot 23:59 gaat het prima, maar daarna niet. Dit is mijn code op dit moment, het werkt tot 23:59, maar daarna geeft hij aan gesloten, terwijl hij nog tot 01:20 open is. In explode[1] en explode[2] zit de open tijd en gesloten tijd en daar maak ik time van.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
$time = time();
$open_time = strtotime($explode[1]);
$close_time = strtotime($explode[2]);
                      
$diff_open = ($time - $open_time);
$diff_gesloten = ($time - $close_time);
                      
if ($diff_open > 0 && $diff_gesloten > 0) {
    echo "<div class='companypage__restaurantopen'>Open</div>";
}else {
    echo "<div class='companypage__restaurantclosed'>Gesloten</div>";
}
Gewijzigd op 24/11/2016 11:08:27 door Jeremy Evers
 
PHP hulp

PHP hulp

04/05/2024 09:28:32
 
- SanThe -

- SanThe -

24/11/2016 11:50:11
Quote Anchor link
Wat zit er exact in $explode[1] en $explode[2]?
 
Jeremy Evers

Jeremy Evers

24/11/2016 14:07:03
Quote Anchor link
Hier zitten 2 tijden in, bijvoorbeeld: 10:00 en 16:00, deze zet ik met strtotime om naar time
 
- SanThe -

- SanThe -

24/11/2016 14:16:22
Quote Anchor link
Kan je daar niet gewoon ook de datum inzetten?
Bv: 24-11-2016 14:16
Dan is het veel simpeler uit te rekenen.
Gewijzigd op 24/11/2016 14:17:12 door - SanThe -
 
Jeremy Evers

Jeremy Evers

24/11/2016 14:18:33
Quote Anchor link
Nouja het punt is dat het openingstijden zijn, dus wekelijks. Ik krijg ze aangeleverd als 'array': 0;10:00-16:00;1;12:00-01:20;

Ik kan dan dus niet zien wanneer ik er een volgende dag datum aan moet hangen of niet.
 
Ben van Velzen

Ben van Velzen

24/11/2016 14:25:09
Quote Anchor link
Dat kun je wel deels zien, door te kijken of de tweede tijd "kleiner" is dan de eerste. Dan is dat gegarandeerd de volgende dag.

Even uit de losse pols:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$time
= time();
$open_time = strtotime($explode[1]);
$close_time = strtotime($explode[2]);

if ($close_time < $open_time) {
  $close_time += 86400;
}

                      
$diff_open = ($time - $open_time);
$diff_gesloten = ($time - $close_time);
?>
Gewijzigd op 24/11/2016 14:28:25 door Ben van Velzen
 
Jeremy Evers

Jeremy Evers

24/11/2016 14:26:28
Quote Anchor link
True, daar heb je gelijk in. Maar, hoe kan ik er dan een datum aan geven, aangezien het wekelijks is?
 
- SanThe -

- SanThe -

24/11/2016 14:27:39
Quote Anchor link
Misschien een idee om te kijken of de eindtijd kleiner is dan de starttijd.
Zo ja, tel bij de eindtijd 24 uur op.
 
Ben van Velzen

Ben van Velzen

24/11/2016 14:28:53
Quote Anchor link
Precies wat ik in mijn voorbeeld ook schets, verrassend genoeg :-)
 
Jeremy Evers

Jeremy Evers

24/11/2016 14:30:26
Quote Anchor link
Goede oplossing, dankjewel had ik zelf nog niet aan gedacht! op deze manier hoef ik er geen datum aan te koppelen, maar werkt het wel! Super, ga het gelijk toepassen.
 
- SanThe -

- SanThe -

24/11/2016 14:34:14
Quote Anchor link
@Ben: Sorry, ik had jouw post nog niet gezien. Maar dat bedoel ik inderdaad.

Toevoeging op 24/11/2016 14:37:58:

Je moet dan wel even dit
if ($diff_open > 0 && $diff_gesloten > 0) {
veranderen in dit
if ($diff_open > 0 && $diff_gesloten < 0) {
 
Jeremy Evers

Jeremy Evers

24/11/2016 15:21:49
Quote Anchor link
Toch gaat het nog niet helemaal lekker. Hij is namelijk van 16:00 tot 01:30 geopend. Nu is het bijvoorbeeld 01:10 en geeft hij aan dat het gesloten is, omdat die al wel de open tijd pakt van de volgende dag. En dat komt weer omdat ik er dit boven heb staan:

if ($dagNamen[date('D')] == $dagen[$explode[0]]) {

Maar dat heb ik erboven staan omdat hij natuurlijk moet checken welke dag het is voor de tijd..
 
- SanThe -

- SanThe -

24/11/2016 19:05:36
Quote Anchor link
Zit dat array wel logisch in elkaar?
 
Jeremy Evers

Jeremy Evers

25/11/2016 09:24:29
Quote Anchor link
Dit zijn de arrays die ik zelf heb gemaakt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$dagNamen = array('Mon' => 'Maandag', 'Tue' => 'Dinsdag', 'Wed' => 'Woensdag', 'Thu' => 'Donderdag', 'Fri' => 'Vrijdag', 'Sat' => 'Zaterdag', 'Sun' => 'Zondag');
    
$dagen = array('Zondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag');


En dit is de array die ik krijg vanuit de database (aangeleverd van de leverancier waardoor ik daar aan vast zit)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
0,16:00,00:50;1,16:00,21:20;2,16:00,21:20;4,16:00,00:00;5,16:00,01:20;6,16:00,01:50;3,16:00,00:00


En bovenstaande array explode ik dan als volgt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$explode = explode(';', $delivery_times);

foreach ($explode as $status) {
   $explode = explode(',', $status);

   if ($dagNamen[date('D')] == $dagen[$explode[0]]) {
       $time = time()."<br/>";
       $open_time = strtotime($explode[1])."<br/>";
       $close_time = strtotime($explode[2])."<br/>";
                      
       if ($close_time < $open_time) {
           $close_time += 86400;
       }
                        
       $diff_open = ($time - $open_time);
       $diff_gesloten = ($time - $close_time);
                      
       if ($diff_open > 0 && $diff_gesloten < 0) {
           echo "<div class='companypage__restaurantopen'>Open</div>";
       } else {
           echo "<div class='companypage__restaurantclosed'>Gesloten</div>";
       }
    }
}
 
- SanThe -

- SanThe -

25/11/2016 10:58:39
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
foreach ($explode as $status) {
   $explode = explode(',', $status);
?>

Dit vraagt om problemen.
Je doorloopt $explode en het eerste wat je doet is $explode compleet wijzigen.
 
Jeremy Evers

Jeremy Evers

25/11/2016 11:09:33
Quote Anchor link
Maar ik doe dat explode in de foreach omdat ik dan elke keer één dag heb, die heb ik namelijk erboven al ge-explode.
 
- SanThe -

- SanThe -

25/11/2016 11:12:30
Quote Anchor link
Maar gebruik dan altijd een andere naam.
 
Jeremy Evers

Jeremy Evers

25/11/2016 11:16:13
Quote Anchor link
Oke, ik begrijp wat je bedoelt inderdaad, nu gebruik ik de array die erboven in de foreach zit.
Wat kan daarnaast het probleem zijn van de tijd? Want daar zit ik nog wel mee, en ben ten einde raad.
 
- SanThe -

- SanThe -

25/11/2016 11:39:15
Quote Anchor link
Door deze regel kijk je na middernacht reeds bij de volgende dag.
En dat klopt niet altijd.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if ($dagNamen[date('D')] == $dagen[$explode[0]]) {
?>
 
Jeremy Evers

Jeremy Evers

25/11/2016 11:49:28
Quote Anchor link
Klopt inderdaad, dat is het probleem. Ik haal daar de dag op en de tijd van die dag. Maar soms zijn ze geopend tot 01:00 en dan zegt hij dus om 00:00 dat het een nieuwe dag is en pakt hij de volgende tijd weer van die dag, terwijl hij tot 01:00 de tijd van de vorige dag moet pakken, maar hoe
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

25/11/2016 20:19:01
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
echo date('Y-m-d H:i', strtotime('16:00');
// geeft 1970-01-01 16:00
?>

Daarmee kan je dus nooit de tijd van nu vergelijken.
Zo wel
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
function TimeToSec($time)
{

    $parts = explode(':', $time);
    return $parts[0] * 3600 + $parts[2] * 60 + (count($parts) == 3 ? $parts[2] : 0);
}


$midnight = strtotime(date('Y-m-d 00:00:00'));
$open_time = $midnight + TimeToSec($times[1]);
$closed_time = $midnight + TimeToSec($times[2]);
if ($open_time >= $closed_time)
{

    $closed_time += 86400;
}

$now = time();
if ($open_time <= $now && $closed_time >= $now)
{

    echo 'Open';
}

else
{
    echo 'Gesloten';
}

?>

Maar beter kan je de manier waarop je de tijden in de db opslaat aanpassen door hiervoor een aparte tabel aan te maken:
- restaurant_id
- day_id (0[maandag] - 6 [zondag])
- time_open (TIME)
- time_closed (TIME)
Dan met de volgende SQL
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SELECT
    r.restaurant_id,
    r.restaurant_name,
    CASE WHEN NOW() BETWEEN o.time_open HOUR_SECOND
        AND o.time_closed + INTERVAL IF(o.time_closed <= o.time_open, 24, 0) HOUR
    THEN 1 ELSE 0 END is_open
FROM
    restaurants r
JOIN
    (SELECT
        restaurant_id,
        CURRENT_DATE + INTERVAL time_open HOUR_SECOND time_open
        CURRENT_DATE + INTERVAL time_closed HOUR_SECOND time_closed
    FROM
        opening_times
    WHERE
        day_id = WEEKDAY(CURRENT_DATE)
    ) o USING (restaurant_id)
ORDER BY is_open DESC
Gewijzigd op 25/11/2016 20:22:47 door Ger van Steenderen
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.