qualitum logo
Motsvarande dag

PHPportalen Forum Index » PHP
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
sjabo



Medlem i: 2146 dagar

Status: Offline



#720951
Inlägg Skrivet: 2012-02-23 14:05      Ämne: Motsvarande dag Citera

Känns inte som en raketforskning men jag hittar ingen lösning.

Hur får jag fram datumet för motsvarande veckodag ett år bakåt?

Dvs idag (23 feb 2012) vill jag få fram motsvarande torsdag 2011. Kikar jag i kalendern så är det 24 feb 2011.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Philip



Medlem i: 2260 dagar

Status: Offline



#720953
Inlägg Skrivet: 2012-02-23 14:08      Ämne: Citera

Vill du få fram vilken veckodag det var för ett år sedan?
 

_________________
(|_/)
(*.*)
(><)
(_l_) This is bunny, copy him and paste him into your signature if you want to help him dominate the world.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
Jalet



Medlem i: 3163 dagar
Från: Järfälla, Kallhäll
Status: Offline



#720954
Inlägg Skrivet: 2012-02-23 14:11      Ämne: Citera

Beroende lite på vilken version av php du använder så kan du göra det på lite olika sätt.

PHP:
1:
<?php
2:
 
3:
/**
4:
 * OOP kräver PHP 5.3 eller senare
5:
 * @var DateTime
6:
 */
7:
$date = new DateTime();
8:
$date->sub(new DateInterval('P1Y'));
9:
 
10:
echo $date->format('Y-m-d');
11:
 
12:
 
13:
echo  "\n\n";
14:
 
15:
/**
16:
 * Inte OOP
17:
 */
18:
$date strtotime(date('Y-m-d'));
19:
$date $date 31536000// 1 year
20:
 
21:
echo date('Y-m-d'$date);
 

_________________
http://www.tv.nu | http://www.sport.nu
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida
sjabo



Medlem i: 2146 dagar

Status: Offline



#720959
Inlägg Skrivet: 2012-02-23 14:43      Ämne: Citera

Jag har version 5.2.4.

Det är alltså motsvarande torsdag för ett år sedan jag vill hitta datumet på.

Att bara leta denna dag ett år bakåt är inga problem. Men dagarna förskjuts varje år och vid skottår förskjuts motsvarande dag ytterliggare (jag menar "ytterligare" men skrev fel) en dag.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Jalet



Medlem i: 3163 dagar
Från: Järfälla, Kallhäll
Status: Offline



#720960
Inlägg Skrivet: 2012-02-23 14:44      Ämne: Citera

Gå ett år bak i tiden, och sen är det väl bara lägga till 1, 2 eller X dagar om det krävs...
 

_________________
http://www.tv.nu | http://www.sport.nu
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida
azuraji



Medlem i: 835 dagar
Från: Stockholm
Status: Offline



#720963
Inlägg Skrivet: 2012-02-23 15:45      Ämne: Citera

Vill du veta datumet och dagen exakt 365 dagar bakåt? Eller ska det vara precis dagens datum (23 feb) fast 2011? Tänk på skottdagarna då.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
sjabo



Medlem i: 2146 dagar

Status: Offline



#724278
Inlägget är accepterad som det rätta svaret Skrivet: 2012-06-18 16:29      Ämne: Citera

Jag löste problemet så här

PHP:
1:
 
2:
function DayOneYearBack() {
3:
   
4:
   $today_date date("Y-m-d");
5:
   $weekday_today date("N"strtotime($today_date));
6:
   $weekday_year_before date('Y-m-d'strtotime('-1 year'strtotime($today_date)));
7:
   
8:
   if ($weekday_today == 1) {
9:
      $display_day_before date('Y-m-d'strtotime('next monday'strtotime($weekday_year_before)));
10:
   } elseif ($weekday_today == 2) {
11:
      $display_day_before date('Y-m-d'strtotime('next tuesday'strtotime($weekday_year_before)));
12:
   } elseif ($weekday_today == 3) {
13:
      $display_day_before date('Y-m-d'strtotime('next wednesday'strtotime($weekday_year_before)));
14:
   } elseif ($weekday_today == 4) {
15:
      $display_day_before date('Y-m-d'strtotime('next thursday'strtotime($weekday_year_before)));
16:
   } elseif ($weekday_today == 5) {
17:
      $display_day_before date('Y-m-d'strtotime('next friday'strtotime($weekday_year_before)));
18:
   } elseif ($weekday_today == 6) {
19:
      $display_day_before date('Y-m-d'strtotime('next saturday'strtotime($weekday_year_before)));
20:
   } elseif ($weekday_today == 7) {
21:
      $display_day_before date('Y-m-d'strtotime('next sunday'strtotime($weekday_year_before)));
22:
   }
23:
   
24:
   return $display_day_before;
25:
   
26:
}
27:
 
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » PHP
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic
qualitum logo