2011-01-17 5 views
4

Supposons que je sache que le jour d'aujourd'hui est lundi. Comment puis-je utiliser mktime() en php pour obtenir un timestamp unix pour vendredi dernier et le vendredi avant cela ??obtenir un timestamp unix en utilisant php

Supposons que la date d'aujourd'hui est le 17-01-2011 et c'est un lundi. Ensuite, je veux l'horodatage pour 14-01-2011 00:00:00 et 7-01-2011 00:00:00.

+0

* (référence) * [pris en charge Date et heure Formats] (http://de2.php.net/manual/fr/datetime.formats.php) et plus spécifiquement [Formats relatifs] (http://de2.php.net/manual/fr/datetime.for mats.relative.php) – Gordon

Répondre

7

check out strtotimehttp://php.net/manual/en/function.strtotime.php ..solves la plupart des questions que Kinda - sinon vous devez attacher la date vous

+1

Donc, un exemple concret serait, strtotime ('last vendredi') et ensuite soustraire 86400 * 7 (86400 secondes fois 7 jours). – jishi

+0

@jishi en effet, ou vraiment tout ce qui est énuméré sous des exemples sur le lien php.net donné: D – Hannes

+0

merci beaucoup ... cela a vraiment aidé. – ayush

1

Quelque chose comme cela devrait faire

<?php 
    // Check if today is a Monday 
    if (date('N') == 1) 
    { 
     // Create timestamp for today at 00:00:00 
     $today = mktime('0', '0', '0', date('n'), date('j'), date('Y')); 

     $last_friday = $today - 60*60*24*3; 
     $last_last_friday = $today - 60*60*24*10; 

     // Convert to a readable format as a check 
     echo 'Last Friday\'s timestamp is ' . $last_friday . ' (' . strftime('%d-%m-%Y %H:%M:%S', $last_friday).') <br />'; 
     echo 'Last last Friday\'s timestamp is ' . $last_last_friday . ' (' . strftime('%d-%m-%Y %H:%M:%S', $last_last_friday).')'; 
    } 
1

Beaucoup plus simple que vous avez pensé (ou même moi d'ailleurs)! Essentiellement, strtotime("last friday", time()) obtient l'horodatage de ... vendredi dernier!

Obtenir l'horodatage actuel premier:

$unixNow = time(); 
echo date('r', $unixNow) . "<br />"; 
//Thu, 10 Jan 2013 15:14:19 +0000 

Obtenir vendredi dernier:

$unixLastFriday = strtotime("last friday", $unixNow); 
echo date('r', $unixLastFriday) . "<br />"; 
//Fri, 04 Jan 2013 00:00:00 +0000 

Obtenir le vendredi avant que:

$unixFridayBeforeThat = strtotime("last friday", $unixLastFriday); 
echo date('r', $unixFridayBeforeThat) . "<br />"; 
//Fri, 28 Dec 2012 00:00:00 +0000