tijd - 10 minuten hoe?

Status
Niet open voor verdere reacties.

gebruiker78

Gebruiker
Lid geworden
29 jun 2010
Berichten
428
hallo,
om tijden op te slaan gebruik ik:
PHP:
$time = date("y/m/d : H:i:s", time());

eerst is dat handig? of bestaat er ergens een automatische datetime ofzo?
maar wat mijn vraag is, hoe haal ik hier 10 minutes vanaf?

het is namelijk de bedoeling dat ik dingen verwijder na 10minuten maar als ik
PHP:
$time2 = $time-1;
gaat er 1 jaar af en als ik doe:
PHP:
$time2 = $time-0.1;
gaat er 0,1 jaar af en ik wil minuten eraf krijgen dus hoe doe ik dat?



en btw bestaat er ook een optie in mysql/phpmyadmin dat na zoveel tijd automatisch dingen rijen kan verwijderen?
 
Waarom gebruik je niet gewoon de mysql functies voor zoiets?

Je kunt gewoon unix timestamp e.d. in een mysql database stoppen; hoef je niet eerst een string van maken met date().
 
Inderdaad: Database-veld op TIMESTAMP zetten, vervolgens kun je mooi de functies van MySQL gebruiken (Zie linkje hierboven)

en btw bestaat er ook een optie in mysql/phpmyadmin dat na zoveel tijd automatisch dingen rijen kan verwijderen?

Gaat je alleen lukken met een cronjob
 
bedankt,
maar met een timestamp hoe krijg ik dan mooi de datum weer uit elkaar want bij timestamp krijg ik steeds: 20110713210254 hoe maak ik daar weer een 'leesbare' datum van?
 
Veld op TIMESTAMP en in eigen formaat terughalen via DATE_FORMAT()
 
uhm gek,
als ik timestamp doe komt er al auto: 2011-07-13 21:50:59 en dat vind ik opzich wel best.
maar hoe haal ik daar nou 10minuten af? want ik heb wat opgezocht maar "-10 minutes" maar dat werkt niet echt dus hoe zou het wel kunnen?

zo gaat mijn code:
$tijd = tijd uit database bijv (2011-07-13 21:50:59)
echo $tijd;

dus hoe krijg ik daar 10min bij?
 
Laatst bewerkt:
-600

Timestamps zijn in seconden, dus daar kun je seconden van af halen. 10 minuten is 600 seconden.

Alternatief in PHP kun je ook gebruik maken van strottime om een tijd om te zetten naar een timestamp, en dan date om em weer terug te zetten.

Of je kunt gebruik maken van de DateTime class, die staat wel dingen als "+10 minutes" toe.

http://nl3.php.net/manual/en/class.datetime.php

(Mits die geinstalleerd is, althans)
 
Timestamps zijn in seconden, dus daar kun je seconden van af halen. 10 minuten is 600 seconden.
UNIX-timestamps ja, MySQL niet ;)

10 minuten er af:
[sql]
SELECT
timestamp,
DATE_SUB(timestamp, INTERVAL 10 MINUTE) AS timestamp_m10
FROM tabel[/sql]
 
Oeps. Dat krijg je ervan als je in de PHP sectie post? :+
 
Het probleem ontstond in PHP maar de oplossing kan prima in MySQL worden gevonden ;)

Ik zal hem eens verplaatsen :D
 
wow, harstikke bedankt!
het werkt nou bijv door:
DELETE FROM `usersppm` WHERE time < NOW() - interval 14 day

(even dagen maargoed, het werkt!)

alleen met dat crontab zag ik dat het voor lunix is maar dat je ook een php bestand kan aanmaken en op je server zetten, of moet je dan alsnog lunix hebben?
 
Laatst bewerkt:
Een cronjob doet niets anders dan op een bepaald tijdstip op een bepaalde dag een actie uitvoeren.
Die actie kan dus het laten uitvoeren van een PHP-bestandje waarin je de query hebt opgenomen zijn :)
 
Je slaat simpelweg de timestamp op van je tijd, die je makkelijk kunt verwerken. Als je dit wil omtoveren tot een datum die voor jou handig is, kun je (zoals je al gebruikte) de functie date() gebruiken.

Date() heeft 1 verplichte en 1 optionele parameter, en in jouw voorbeeld gebruik je de optionele parameter. time() is een functie die de huidige timestamp teruggeeft, dus kun je daarvoor in de plaats ook een andere timestamp neerzetten. Date() geeft dan de datum terug van die timestamp op jouw formaat.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan