Création
d'entreprise

Mktime() - Timestamp classiques (hier, mois dernier, etc.)

La fonction mktime() permet de retourner le timestamp UNIX d'une date donnée, c'est-à-dire le nombre de secondes écoulées entre le 1er janvier 1970 et la date en question.

Toutefois, dans son utilisation courante, il est généralement nécessaire de définir deux timestamps pour obtenir une période.

Notez que pour convertir les timestamps ci-dessous en date MySQL (DATETIME), il suffit d'utiliser la fonction date de la manière suivante :

<?
$mysql_datetime = date('Y-m-d H:i:s',$timestamp);
?>


Voici ci-dessous des exemples pour des grands classiques :



24 dernières heures


Le code ci-dessous couvre les 24 dernières heures jusqu'à maintenant :
<?php
$startTime = mktime() - 24*3600;
$endTime = mktime();
?>

Hier (yesterday)


Le code ci-dessous fonctionne y compris si l'on se trouve le 1er du mois, voire le 1er janvier de l'année. Il couvre la période allant d'hier à 00:00:00 à hier 23:59:59 :

<?php
$startTime = mktime(0, 0, 0, date('m'), date('d')-1, date('Y'));
$endTime = mktime(23, 59, 59, date('m'), date('d')-1, date('Y'));
?>

Cette semaine (this week)


Le code ci-dessous part du principe que le premier jour de la semaine est le lundi. Il couvre la période allant de lundi matin à 00:00:00 à maintenant :
<?
$startTime = mktime(0, 0, 0, date('n'), date('j'), date('Y')) - ((date('N')-1)*3600*24);
$endTime = mktime(); 
?>

Semaine dernière (last week)


Le code ci-dessous part du principe que le premier jour de la semaine est le lundi. Il couvre la période allant de lundi en 15 à 00:00:00 au dimanche suivant à 23:59:59 :
<?
$startTime = mktime(0, 0, 0, date('n'), date('j')-6, date('Y')) - ((date('N'))*3600*24);
$endTime = mktime(23, 59, 59, date('n'), date('j'), date('Y')) - ((date('N'))*3600*24);
?>

Mois en cours (this month)


Le code ci-dessous couvre la période du 1er du mois à maintenant (mois en cours) :
<?
$startTime = mktime(0, 0, 0, date('m'), 1, date('Y'));
$endTime = mktime();
?>

30 derniers jours (last 30 days)


Le code ci-dessous couvre la période d'il y a 30 jours à maintenant :
<?
$startTime = mktime() - 30*3600*24;
$endTime = mktime();
?>

Mois dernier (last month)


Le code ci-dessous couvre la période du mois dernier :
<?
$startTime = mktime(0, 0, 0, date('m')-1  , 1 , date('Y'));
$endTime = mktime(23, 59, 59, date('m'), date('d')-date('j'), date('Y'));
?>

Année en cours (this year)


Le code ci-dessous couvre la période allant du 1er janvier à 00:00:00 à maintenant :
<?
$startTime = mktime(0, 0, 0, 1, 1, date('Y'));
$endTime = mktime();
?>

Année dernière (last year)


Le code ci-dessous couvre l'année précédente, du 1er janvier à 00:00:00 au 31 décembre à 23:59:59 :
<?
$startTime = mktime(0, 0, 0, 1 , 1, date('Y')-1);
$endTime = mktime(23, 59, 59, 12, 31, date('Y')-1);
?>
Publié par Jeff - Dernière mise à jour le 5 novembre 2009 à 11:50 par marlalapocket
Ce document intitulé « Mktime() - Timestamp classiques (hier, mois dernier, etc.) » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  Mktime() - Timestamp classiques (hier, mois dernier, etc.)
  •  Voir ses factures Free » Fiches pratiques : Allez ICI Entrez votre numéro de téléphone et votre mot de passe. Votre mot de passe se trouve sur le formulaire papier que vous avez reçu avec votre Freebox. Cliquez sur le lien "Mon abonnement" puis sur "Mes factures"
  •  PHP - Dernier jour du mois / Nombre de jours dans le mois » Fiches pratiques : Soient $m le numéro du mois en question et $y l'année. La fonction date() permet d'afficher directement le nombre de jours dans le mois avec le caractère "t" : <?php $mois = mktime( 0, 0, 0, $m, 1, $y ); setlocale('LC_ALL',...
  •  Comment récupérer une fichier supprimé ? (Résolu) » Meilleure réponse: Bonjour, Tu peux toujours essayer par exemple ce petit logiciel: http://www.anysoftwaretools.com/file-recovery.html Il permet de retrouver les données après effacement sauf si d'autres données on été écrites par dessur. J'ai fait ça plu
  •  Orange m'a abusé pour facturer (Résolu) » Meilleure réponse: Salut A tous! Même problème pour moi, MAIS j'ai trouvé la raison ! j'ai acheté un iphone en juillet sans changer mon forfait pro (sans prendre l'option internet illimitée) Jusqu'ici quelques petits hors forfait (+ ou - 10€ avec une cons
  •  Afficher le mois dernier (Résolu) » Bonjour, je sais qu'avec excel, il est possible soit d'afficher ou d'enregistrer avec le moi passée. je ne sais pas comment faire. pouvez-vous m'aider.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
PHP 5 - Utiliser une url externe avec la fonction include
PHP - Concaténation