php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 12-09-2003, 09:54
Svenner
 Registrierter Benutzer
Links : Onlinestatus : Svenner ist offline
Registriert seit: Sep 2003
Beiträge: 35
Svenner ist zur Zeit noch ein unbeschriebenes Blatt
Standard Kalenderwoche Datum rausfinden

Hallo,

ich habe folgendes Problem.

Ich möchte gerne eine Select-Box haben, wo die aktuellen Kalenderwochen von dem aktuellen Jahr drin stehen.
Zum Beispiel: 1, 2, 3, 4, 5 ... 50, 51, 52

Das sollte alles untereinander stehen, damit ich eine Zahl mit der Select-Box auswählen kann. Wobei manche Jahre ja auch 53 KW haben.

Das wichtigste ist nun, wenn ich diese Zahl auswähle und auf abschicken klicke, soll auf der nächsten Seite ermittelt werden, von wann bis wann die Kalenderwoche geht.

Beispiel: Ich wähle Kalenderwoche 37 --> die geht vom 10.09.2003-16.09.03

Hat jemand nen Code für so was?
Danke schon mal.


Gruß
Svenner.
Mit Zitat antworten
  #2 (permalink)  
Alt 12-09-2003, 10:00
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: Kalenderwoche Datum rausfinden

Zitat:
Original geschrieben von Svenner
Wobei manche Jahre ja auch 53 KW haben.
das kriegst du ja leicht raus. du erzeugst dir den 31.12. des jahres als timestamp, und lässt dir dann mit date("W") die wochennummer ausgeben.
dann eine schleife von 1 bis zu dieser wochennummer, um dein select-feld aufzubauen.

für den rest: na ja, überleg dir halt mal was :-)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 12-09-2003, 10:11
Svenner
 Registrierter Benutzer
Links : Onlinestatus : Svenner ist offline
Registriert seit: Sep 2003
Beiträge: 35
Svenner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

gut habe es jetzt wie folgt:
PHP-Code:
<?php
$jahr 
date("Y");
$zeit mktime(0,0,0,12,28,$jahr);

$woche date("W",$zeit);
echo 
$woche;
?>
<select name="sec">
 <?php
 
for ($i=1$i<=$woche$i++)
 {
     echo 
"<option value=$i>$i</option>";
 }
?>
</select>
Doch wie ich dann das Datum von der jeweiligen Kalenderwoche (von - bis), die ich ausgewählt habe, bekomme, weiß ich nicht und wäre für Hilfe sehr sehr dankbar.


Svenner.
Mit Zitat antworten
  #4 (permalink)  
Alt 12-09-2003, 10:19
Titus
 PHP Master
Links : Onlinestatus : Titus ist offline
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
Titus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Montag der Kalenderwoche $woche in Jahr $jahr:
PHP-Code:
$kw1 mktime(0,0,0,1,4,$jahr); // der 4.1. liegt garantiert in der 1. KW
$montag $kw1 86400 * (
  
7*($woche-1// $woche-1 Wochen drauf
  
date('w'$kw1)+// und Tage bis zum Montag abziehen
);
$sonntag $montag 86400*6// 6 Tage drauf: Sonntag 
Dann bekommst du die passenden Daten mit date('d.m.Y', $montag) und date('d.m.Y', $sonntag).
__________________
mein Sport: mein Frühstück: meine Arbeit:

Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
Mit Zitat antworten
  #5 (permalink)  
Alt 12-09-2003, 10:24
Svenner
 Registrierter Benutzer
Links : Onlinestatus : Svenner ist offline
Registriert seit: Sep 2003
Beiträge: 35
Svenner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja das ist gut, aber wenn ich jetzt die kw=37 habe, wie bekomme ich einen tag, der in der kw=37 ist raus oder das datum von - bis.

ein einziger tag würde ja nach deinem script her reichen.

danke.
Mit Zitat antworten
  #6 (permalink)  
Alt 12-09-2003, 12:26
Titus
 PHP Master
Links : Onlinestatus : Titus ist offline
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
Titus ist zur Zeit noch ein unbeschriebenes Blatt
Thumbs down

Zitat:
Original geschrieben von Svenner
ja das ist gut, aber wenn ich jetzt die kw=37 habe, wie bekomme ich
einen tag, der in der kw=37 ist raus oder das datum von - bis.
Ich weiß nicht, warum ich darauf noch antworte ...
GENAU DAS hab ich doch da oben gepostet!

Ich seh ja ein, dass manche Leute hier keine Ahnung von PHP und noch
weniger Ahnung vom Programmieren haben; aber ich setze voraus, dass
unsere Besucher LESEN können und das auch tun.
__________________
mein Sport: mein Frühstück: meine Arbeit:

Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
Mit Zitat antworten
  #7 (permalink)  
Alt 18-01-2007, 13:18
strauberry
 Registrierter Benutzer
Links : Onlinestatus : strauberry ist offline
Registriert seit: Nov 2002
Beiträge: 616
strauberry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@Titus: VIELEN DANK FÜR DEIN SCRIPT!!!!!!! Es funktioniert wunderbar :-)

Nur ein kleiner Hinweis: Wenn ein Jahr 53 KWs hat, und man sich genau in dieser KW 53 befindet, muss man bevor man das ganze Script ausführt, KW auf 52 setzen, weil man sonst eine Woche weiter ist. Aber sonst perfekt! 2004/2005, 2005/2006 und 2006/2007 getestet...

Für alle, die nochmal nach dem Thema suchen:
Dass der 4. auf jeden Fall in der ersten KW liegt, ist hier begründet
"(KW ist...) die erste Woche, in die mindestens vier Tage des neuen Jahres fallen (ISO 8601)." (Quelle: wikipedia)

Warum man jetzt hier einen Tag dazu und da einen abzieht habe ich noch nicht 100% kapiert, aber hauptsache, es funktioniert :-)
Mit Zitat antworten
  #8 (permalink)  
Alt 06-01-2009, 20:58
strauberry
 Registrierter Benutzer
Links : Onlinestatus : strauberry ist offline
Registriert seit: Nov 2002
Beiträge: 616
strauberry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wenn der 4. ein Sonntag ist (so wie dieses Jahr), muss man 6 abziehen und nicht date('w', $kw1)+1, sonst rutscht das ganze immer eine Woche nach vorn.
Mit Zitat antworten
  #9 (permalink)  
Alt 21-06-2009, 02:23
einermeiner
 Registrierter Benutzer
Links : Onlinestatus : einermeiner ist offline
Registriert seit: Jun 2009
Beiträge: 132
einermeiner befindet sich auf einem aufstrebenden Ast
Standard

Hey,
danke für diesen Thread!

Aber, eine Frage:

Wenn man im Falle einer KW 53 das Ganze auf KW 52 ändern muss, was mache ich dann, um in die "echte" KW 52 zu kommen?
Gebe ich dafür dann KW 51 an? Wie komme ich dann in die echte 51 usw.?

Das kann ja nicht funktionieren.

Oder ist das eine "Falschinformation" und es gibt keine Probleme, wenn man den letzten Tipp beachtet mit 6 Tage abziehen wenn der 04. ein Sonntag ist?

Danke
Mit Zitat antworten
  #10 (permalink)  
Alt 21-06-2009, 11:51
nichtsooft
 Registrierter Benutzer
Links : Onlinestatus : nichtsooft ist offline
Registriert seit: Apr 2006
Ort: Wien [AUT]
Beiträge: 385
nichtsooft ist zur Zeit noch ein unbeschriebenes Blatt
nichtsooft eine Nachricht über ICQ schicken
Standard

Gegenfrage: Was ist daran so schwer hier nach "date" zu suchen und das Ergebnis zu lesen!?
__________________
WHILE (!$asleep) { $sheep++; }
Mit Zitat antworten
  #11 (permalink)  
Alt 21-06-2009, 14:17
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

Und hier noch eine Veriante, wenn du es manuel machen willst. (testen musst du es selbst )
PHP-Code:
// returns the UNIX timestamp of the given day of week
function getDayOfWeekasTime($day$month$year$dayOfWeek){
  
$time =  mktime(000$month$day$year);
  
$time += ($dayOfWeek - (date("w") + 6) % 7) * 3600 24;
  return 
$time;
}

// returns false if invalid or
// the first day of the given week as a UNIX timestamp
function getWeekasTime($week$year){
 if(
$year 1980 || $year 2030 || $week || $week 52){return false;}
 
$time getDayOfWeekasTime(41$year3);
 
$time += 24 3600 $week;
 
d.setDate(d.getDate() + week);
 if(
$week == 52 && $year != date("Y"$time)){
  return 
false;
 }
 return 
$time -= 24 3600;
}

// returns the calendar week 0-52 of a given date
function getCalendarWeek($day$month$year){
 
$calendarWeek 0;
 
$time getDayOfWeekasTime($day$month$year3);
 
$year date("Y"$time);
 while(
$year == date("Y"$time){
  
$calendarWeek++;
  
$time -= 24 3600;
 }
 if(
date("Y"getDayOfWeekasTime($day$month$year3)) != $year){
  if(
$calendarWeek == 0){
   
$calendarWeek++;
  }else if(
$calendarWeek == 52){
   
$calendarWeek--;
  }
 }
 return 
$calendarWeek;

Mit Zitat antworten
  #12 (permalink)  
Alt 21-06-2009, 20:47
einermeiner
 Registrierter Benutzer
Links : Onlinestatus : einermeiner ist offline
Registriert seit: Jun 2009
Beiträge: 132
einermeiner befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nichtsooft Beitrag anzeigen
Gegenfrage: Was ist daran so schwer hier nach "date" zu suchen und das Ergebnis zu lesen!?
Ich kenne die Date-Funktion, aber darum geht es nicht.
Mit Zitat antworten
  #13 (permalink)  
Alt 21-06-2009, 21:32
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von jmc Beitrag anzeigen
PHP-Code:
(date("w") + 6) % 7
Warum nimmst du nicht einfach date("N")?

ISO-8601 numeric representation of the day of the week
1 (for Monday) through 7 (for Sunday)
Mit Zitat antworten
  #14 (permalink)  
Alt 22-06-2009, 00:45
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

Weil ich das direkt hier im Forum geschrieben, nicht lange überlegt und das nicht auswendig gewusst habe
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:01 Uhr.