Tijd verschil berekenen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe stap? Voor een softwarebedrijf in regio Oosterhout zijn wij op zoek naar een back-end developer met kennis of ervaring met C# en SQL. Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Magento2 Developer

Functie Ben jij een ontwikkelaar en wil jij een volgende stap zetten en als teamlead aan de slag? Lees dan snel verder! Voor een gewilde opdrachtgever in omgeving Delft zijn wij op zoek naar een programmeur die als meewerkend voorman aan de slag wilt gaan. Een developer die een team van twee man aan zal sturen. Jouw werkzaamheden zullen er als volgt uitzien; Ontwikkelen en ontwerpen van API's; Maatwerkoplossingen; Databeveiliging; Optimalisatie webshops; Ontwikkelen technische implementaties voor verbetering database; Aanspreekpunt voor de organisatie en verantwoordelijk voor de aansturing van externe developers. Zoek je veel uitdaging en veelzijdigheid in je werk dan

Bekijk vacature »

No-Code Betty Blocks ontwikkelaar

Bedrijfsomschrijving Wil jij de bedrijfsprocessen van klanten revolutionair digitaliseren en optimaliseren zonder beperkt te worden door programmeertalen? Kom werken bij een snelgroeiende en professionele organisatie met een gezonde dosis humor en veel vrijheid om jezelf te ontwikkelen. Als No-Code Betty Blocks ontwikkelaar werk je vanuit ons kantoor in het hart van Nederland, je thuiswerkplek of op locatie bij de klant. We faciliteren de juiste trainingen en ondersteuning zodat je een echte Betty Blocks expert wordt. Naast het werk zijn er bij ons bijzondere events, zoals een jaarlijkse zeildag, een zomerse barbecue en een knus kerstdiner om de grillige maanden door

Bekijk vacature »

Senior Java developer

Als Senior Developer bij Sogeti ben je onderdeel van onze toonaangevende best-gecertificeerde Java community. Deze bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Aval en de Nationale Politie. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We

Bekijk vacature »

Full stack ontwikkelaar Laravel, Vue.js

Functie Als ontwikkelaar binnen deze organisatie hou jij je voornamelijk met lopende projecten voor de verschillende klanten. Zo bouw je de ene dag aan prijsschifting systemen en de andere dag onderzoek je crawlers en stel je ze zo in dat de data goed binnen komt binnen het systeem. Daarnaast bouw je mee aan dashboards en ben je dus constant bezig met het verbeteren van het platform. Er is een vaste werkwijze, zo werken ze met Trello kaarten en onderverdelen ze deze aan het begin van iedere week onder de developers. Dit wordt door de lead developer gedaan, maar in samenspraak

Bekijk vacature »

Java (Java EE) Developer

In het kort Werken als Java developer betekent werken aan complexe IT projecten bij onder meer een internationaal containeroverslag bedrijf. Zo sturen we apparaten en eindgebruikers aan d.m.v. onze custom-made software oplossing, die dagelijkse vele duizenden containers verwerkt. Denk aan systemen die volautomatische kranen aansturen en op afstand bedienen, de volledige afhandeling van containernummerherkenning bij het laden en lossen van zeeschepen of het tonen van instructies aan de chauffeurs van ruim 300 straddle carriers. En dat allemaal redundant, robuust en in een dynamische 24/7 omgeving! Jij versterkt ons ontwikkelteam en gaat aan de slag met oa. Java i.c.m. Spring (Boot),

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

Fullstack of back-end PHP developer

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

.NET developer

Functie As a .NET developer you start in a driven and diverse development team. Your team consists of 16 IT professionals, including 7 software engineers. Because your new employer is internationally active, there are also international IT professionals working in the IT department. As a result, the official language is English. As a team you are responsible for a new Cloud Native product. This product runs entirely in Azure with a Progress Database and various Azure Functions. In addition, this product has a JS front-end, a REST API system and a layer in C # .NET. The idea is therefore

Bekijk vacature »

Senior Front-end developer (React)

Functie Met een ontwikkelafdeling van ruim 20 collega’s is dit zo ongeveer de helft van alle medewerkers. De software(ontwikkeling) is dan ook de drijvende kracht binnen de organisatie. Ze werken aan het verbeteren dan de bestaande, maar zeker ook nieuwe producten. De software bestaat uit verschillende (React) webapplicaties, maar ook een mobile (React native) app. Hierdoor kom je met verschillende uitdagingen in aanraking en is Mobile kennis natuurlijk mooi meegenomen. De software wordt door vele duizenden professionals dagelijks gebruikt en bevatten grote hoeveelheden data. Aan het team de uitdaging om hierin de best mogelijke gebruiksvriendelijkheid neer te zetten door gebruik

Bekijk vacature »

Junior PHP Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Junior Software Developer C# Verhuursector Verhuur

Samengevat: Wij ontwikkelen en leveren softwaresystemen voor de logistieke sector en de verhuursector. Ben jij geschikt als Junior Software Developer? Heb je ervaring met Delphi? Vaste baan: C# Software Developer Logistiek HBO €2.500 - €3.900 Deze werkgever is een software ontwikkelaar, gericht op software voor de logistieke sector. Deze werkgever heeft eigen producten ontwikkelen en leveren ook maatwerk. Ons bedrijf kent een boeiende en inspirerende werkomgeving met een open cultuur en mogelijkheden voor je verdere ontwikkeling. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om

Bekijk vacature »

Front End Ontwikkelaar (React)

In het kort Als front end developer ga je aan de slag met maatwerkprojecten voor onze klanten. Denk bijvoorbeeld aan het toevoegen van een machine aan een database of het corrigeren van formulieren voor ingestuurde orders. Voorbeeld van zo’n project is Smart Link. De projecten waar je op ingezet kunt worden liggen binnen het technische domein waar jij als front end developer een grote rol speelt om samen met je back end collega’s de juiste oplossingen te leveren. please note that this particular role requires fluent Dutch language skills. Dit vind je leuk om te doen Het omzetten van designs

Bekijk vacature »

SQL Database ontwikkelaar

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

C# .NET Developer

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een klein team van professionals ben je als C# .NET Developer verantwoordelijk voor het ontwikkelen van één van de applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je

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

24/12/2024 18:53:31
 
- 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.