Volledige versie bekijken : Datum vergelijken
FredericCox
%Europe/Berlin %637 %2005, 16:17
Hallo, ik krijg uit een variabele een bepaald tijdstip:
2005-07-03 23:10:00
Nu dat is het begin van een match, ik wil dus kijken of de tijd nu tussen 23:10:00 op 3 juli en (2u15 later) 01:25:00 op 4 juli is. Hoe doe ik dit? Matchen kunnen ook om bvb 15u beginnen, de tijd nu is ook een variabele(fetched_time in xml)
theFlashWizard
%Europe/Berlin %662 %2005, 16:53
em.. anders haal je ze eerst ff gewoon per stuk op uit een date object (staat wel in de flash help) en zet je ze per deel in 1 een if..
Roenes
%Europe/Berlin %678 %2005, 17:17
Kan heel makkelijk:
- Maak 2 date objecten aan. 1 met de begindatum en 1 met de einddatum
- Maak een date object aan met de huidige tijd.
- vergelijk dan of nu groter is als begindatum en kleiner is als einddatum.
Je kan dit gewoon doen omdat een date object ook te representeren is als een aantal milliseconden. Daarom kun je gewoon vergelijkingen erop los laten.
Klein voorbeeld:
var d1 = new Date(2005, 5, 28, 17, 0, 0, 0);
var d2 = new Date(2005, 5, 28, 18, 0, 0, 0);
var nu = new Date();
trace(nu > d1 && nu < d2); //Wordt true op het moment van posten
FredericCox
%Europe/Berlin %682 %2005, 17:22
Kan heel makkelijk:
- Maak 2 date objecten aan. 1 met de begindatum en 1 met de einddatum
- Maak een date object aan met de huidige tijd.
- vergelijk dan of nu groter is als begindatum en kleiner is als einddatum.
Je kan dit gewoon doen omdat een date object ook te representeren is als een aantal milliseconden. Daarom kun je gewoon vergelijkingen erop los laten.
Klein voorbeeld:
var d1 = new Date(2005, 5, 28, 17, 0, 0, 0);
var d2 = new Date(2005, 5, 28, 18, 0, 0, 0);
var nu = new Date();
trace(nu > d1 && nu < d2); //Wordt true op het moment van posten
Bedankt! Maar hoe haal ik de dag enzo uit een datum, ik krijg dat 2005-06-27 16:00:00 binnen. En hoe bereken ik de einddatum als die minder dan 2u15 voor einde van de dag ligt?
TrueChaoZ
%Europe/Berlin %714 %2005, 18:08
Je kan 2005-06-27 16:00:00 splitsen met bijvoorbeeld
var string:String = "2005-06-27 16:00:00";
var array:Array = new Array();
var array0:Array = new Array();
var array1:Array = new Array();
var array2:Array = new Array();
array0 = string.split(" ");
array1 = array0[0].split("-");
array2 = array0[1].split(":");
array = array1.concat(array2);
trace(array0);
trace(array1);
trace(array2);
trace(array);
En dit kan vast ook nog wel wat korter :rolleyes:
Roenes
%Europe/Berlin %332 %2005, 08:59
Tuurlijk kan dat korter. Haal die eerste 4 array declaraties weg. Die zijn niet nodig omdat split zelf al een array teruggeeft. Scheelt dus alweer 4 regels. :)
Maar je kunt toch met getHour, getMinutes, getSeconds van het date object het aantal uren, minuten en seconden opvragen dus daar kun je dan toch mee verder rekenen? :)
//Edit
var d1 = new Date(2005, 5, 27, 16, 0, 0, 0);
var d2 = new Date(2005, 5, 27, d1.getHours() + 2, d1.getMinutes() + 15, 0, 0);
TrueChaoZ
%Europe/Berlin %362 %2005, 09:41
Tuurlijk kan dat korter. Haal die eerste 4 array declaraties weg. Die zijn niet nodig omdat split zelf al een array teruggeeft. Scheelt dus alweer 4 regels. :)
LOL dat is hetzelfde als je zegt in je code, waarom zou je ooit var declaraties doen, het kost alleen maar regels! Het is juist netjes om al je variabelen te declareren zodat je code syntax altijd goed blijft en zodat je die handige menuutjes krijgt na de punt.
Roenes
%Europe/Berlin %433 %2005, 11:23
Op zich wel, maar in dit geval zou ik ze weglaten. Meer omdat het een returnwaarde is van een methode. Als je een methode hebt die uit het niets een string teruggeeft dan declareer je vaak ook niet eerst de var maar doe je dat in 1 regel:
var mijnString = class.getMijnString();
Dus waarom niet ook in dit geval? Alle overige variabele declaraties gebruik ik natuurlijk wel, maar in dit geval vind ik het overbodig. Maar dit is meer eigen mening dan iets anders :)
TrueChaoZ
%Europe/Berlin %434 %2005, 11:26
Ja precies wat je natuurlijk dan waarschijnlijk dit geval het beste kan doen is dit. Maar het blijft 1 van de mogelijkheden :)
var string:String = "2005-06-27 16:00:00";
var array0:Array = string.split(" ");
var array1:Array = array0[0].split("-");
var array2:Array = array0[1].split(":");
var array:Array = array1.concat(array2);
FredericCox
%Europe/Berlin %565 %2005, 14:34
Tuurlijk kan dat korter. Haal die eerste 4 array declaraties weg. Die zijn niet nodig omdat split zelf al een array teruggeeft. Scheelt dus alweer 4 regels. :)
Maar je kunt toch met getHour, getMinutes, getSeconds van het date object het aantal uren, minuten en seconden opvragen dus daar kun je dan toch mee verder rekenen? :)
//Edit
var d1 = new Date(2005, 5, 27, 16, 0, 0, 0);
var d2 = new Date(2005, 5, 27, d1.getHours() + 2, d1.getMinutes() + 15, 0, 0);
Maar wat als je 23:10 + 2u15 doet dan kom je toch op een andere dag?
Roenes
%Europe/Berlin %688 %2005, 17:31
Jah dat zul je dus zelf ff moeten opvangen. :)
Maar dat is iets waar je zelf even achteraan mag gaan want dat is relatief simpel te doen. Lukt het alsnog niet, plaats dan even je scriptje en dan zal ik (of anderen) je verder op weg helpen :)
FredericCox
%Europe/Berlin %458 %2005, 12:00
Jah dat zul je dus zelf ff moeten opvangen. :)
Maar dat is iets waar je zelf even achteraan mag gaan want dat is relatief simpel te doen. Lukt het alsnog niet, plaats dan even je scriptje en dan zal ik (of anderen) je verder op weg helpen :)
//Check cup
cupYear = CupMatchDate.toString().substr(0,4)
cupMonth = CupMatchDate.toString().substr(5,2)
cupDay = CupMatchDate.toString().substr(8,2)
cupHour = CupMatchDate.toString().substr(11,2)
cupMin = CupMatchDate.toString().substr(14,2)
var cupd1 = new Date(cupYear, cupMonth - 1, cupDay - 7, cupHour, cupMin, 0, 0);
var cupd2 = new Date(cupYear, cupMonth - 1, cupDay - 7, cupd1.getHours() + 1, cupd1.getMinutes() + 45, 0, 0);
var nu = new Date();
//trace(LeagueID + ":" + EnglishLeagueName + "-" + CupMatchDate)
trace("cupd1: " + cupd1)
trace("nu: " + nu)
trace("cupd2: " + cupd2)
if(nu > cupd1 && nu < cupd2){
trace(EnglishLeagueName)
}; //Wordt true op het moment van posten
Ik heb wel heel wat moeten aanpassen:s
Hoe maak ik van date(nu) een dag met het huidige uur, zodat ik mijn klok zogezegd op gisteren kan zetten en dat alleeen het uur variabel is(en de seconden)
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.