Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP Heute in zwei Monaten der Erste vom darauffolgenden Monat

Frage Entwicklung PHP

Mitglied: solaris-ch

solaris-ch (Level 1) - Jetzt verbinden

06.07.2010, aktualisiert 09.07.2010, 3762 Aufrufe, 3 Kommentare

PHP und Datum. Das hab ich noch nie gemocht...

Also liebe Kollegen und Kolleginnen.

Folgendes ist mein Problem. Ich suche ein bestimmtes Datum mit PHP. Das gesuchte Datum beschreibt sich so:

heute + 2 Monate, dann auf den Ersten vom darauffolgenden Monat springen.

Beispiele:

Beispiel 1:
06.07.2010 (heute) + 2 Monate = 06.09.2010.
Der Erste vom darauffolgenden Monat: 01.10.2010 < -- das suche ich

Beispiel 2:
28.07.2010 (heute) + 2 Monate = 28.09.2010
Der Erste vom darauffolgenden Monat: 01.10.2010 < -- das suche ich

Beispiel 3 (Achtung!):
01.07.2010 (heute) + 2 Monate = 01.09.2010
Der Erste vom darauffolgenden Monat: 01.10.2010 < -- das suche ich

Ich hoffe jemand kann mir schnell und unkompliziert helfen (was ja hier eigentlich immer der Fall ist )

Grüsse und besten Dank, tom
Mitglied: Dani
06.07.2010 um 15:50 Uhr
Servus,
sollte eigentlich kein Problem darstellen. Versuch es so mal:
01.
<?php 
02.
 
03.
$last = mktime(0, 0, 0, date("m") + 3, date("01"),  date("Y")); 
04.
$last = date("d.m.Y",$last); 
05.
print $last; 
06.
 
07.
?>
Ist leider ungetestet, da ich grad kein Webserver zur Verfügung habe.


Grüße,
Dani
Bitte warten ..
Mitglied: Biber
06.07.2010 um 19:41 Uhr
Moin solaris-ch,

PHP ist ja nicht gerade mein Spezialgebiet, und ich habe auch keinerlei Verdacht, was Dani da mit der wohl undokumentieren date("01")-Bypass-Lösung versucht,
Aber wo ich Dani Recht gebe - den sorgfältig bebilderter Beispielreigen lässt auch für mich nur den Schluss zu, dass eine einfache Addition von 3 Monaten in Kombination mit dem Setzen des Tages auf 1 ausreicht.
Nicht dieses "(heute+2 Monate)+ noch einen Monat aber auf den 1. zurück"

Also nach meinem ästhetischen Empfinden sollte es so reichen:
01.
echo date("d.m.Y", mktime(0,0,0, date("m")+3, 1, date("Y")));
Das (theoretische) Problem, dass mktime() vielleicht bei einer Berechnung im Oktober 2010 dann mit dem Datum "mktime( 0,0,0, 10+3, 1, 2010)" nicht klarkommen könnte - > da hätte ich keine Bedenken.
Da wird schon statt dem 1.13.2010 der 1.1.2011 rausfallen.

Grüße
Biber
Bitte warten ..
Mitglied: solaris-ch
07.07.2010 um 06:42 Uhr
Hallo Dani und Biber

vielen Dank für die ausführlichen Antworten! Natürlich habt ihr recht und es reicht 3 Monate in die Zukunft zu springen und einfach den Tag auf 1 zu setzen!

Herzlichen Dank dafür und beste Grüsse, tom
Bitte warten ..
Ähnliche Inhalte
Backup
Backup Wochen- Monats- Jahressicherung (14)

Frage von Meterpeter zum Thema Backup ...

Datenbanken
Access 2016 vertauscht Monat und Tag in meiner CSV Datei (1)

Frage von iGordon zum Thema Datenbanken ...

Linux Desktop
Linux: KDE Neon User-LTS-Edition wird 18 Monate unterstützt (1)

Link von runasservice zum Thema Linux Desktop ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(2)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...