@@ -67,6 +67,25 @@ public static function DayInMonth(int $month, int $year) : int
6767 return (\checkdate ($ month , 29 , $ year )) ? 29 : 28 ;
6868 }
6969
70+ /**
71+ * Return now as DateTime
72+ *
73+ * @param string $tzid PHP recognized timezone (default is UTC)
74+ */
75+ public static function DTNow (string $ tzid ) : \DateTime
76+ {
77+ try
78+ {
79+ $ dtz = new \DateTimeZone ($ tzid );
80+ }
81+ catch (\Exception $ e )
82+ {
83+ $ dtz = null ;
84+ }
85+
86+ return new \DateTime ('now ' , $ dtz );
87+ }
88+
7089 /**
7190 * Format iCal date-time string to Unix timestamp
7291 *
@@ -114,6 +133,73 @@ public static function fromiCaltoUnixDateTime(string $datetime) : int
114133 return \gmmktime ($ hour , $ minute , $ second , $ month , $ day , $ year );
115134 }
116135
136+ /**
137+ * fromSqlDateTime()
138+ *
139+ * Take SQL timestamp and format to iCal date/time string
140+ *
141+ * @param string $datetime SQL timestamp, leave blank for current date/time
142+ *
143+ * @return string formatted iCal date/time string
144+ */
145+ public static function fromSqlDateTime (?string $ datetime = null ) : string
146+ {
147+ \date_default_timezone_set ('UTC ' );
148+
149+ if (null == $ datetime )
150+ {
151+ $ datetime = \time ();
152+ }
153+ else
154+ {
155+ $ datetime = \strtotime ($ datetime );
156+ }
157+
158+ return \date ('Ymd\THis ' , $ datetime );
159+ }
160+
161+ /**
162+ * fromUnixDate()
163+ *
164+ * Take Unix timestamp and format to iCal date string
165+ *
166+ * @param int $datetime Unix timestamp, leave blank for current date/time
167+ *
168+ * @return string formatted iCal date string
169+ */
170+ public static function fromUnixDate (?int $ datetime = null ) : string
171+ {
172+ \date_default_timezone_set ('UTC ' );
173+
174+ if (null == $ datetime )
175+ {
176+ $ datetime = \time ();
177+ }
178+
179+ return \date ('Ymd ' , $ datetime );
180+ }
181+
182+ /**
183+ * fromUnixDateTime()
184+ *
185+ * Take Unix timestamp and format to iCal date/time string
186+ *
187+ * @param int $datetime Unix timestamp, leave blank for current date/time
188+ *
189+ * @return string formatted iCal date/time string
190+ */
191+ public static function fromUnixDateTime (?int $ datetime = null ) : string
192+ {
193+ \date_default_timezone_set ('UTC ' );
194+
195+ if (null == $ datetime )
196+ {
197+ $ datetime = \time ();
198+ }
199+
200+ return \date ('Ymd\THis ' , $ datetime );
201+ }
202+
117203 /**
118204 * Format Unix timestamp to iCal date-time string
119205 *
@@ -333,25 +419,6 @@ public static function inDay(int $daystart, int $begin, int $end) : bool
333419 return $ inday ;
334420 }
335421
336- /**
337- * Return now as DateTime
338- *
339- * @param string $tzid PHP recognized timezone (default is UTC)
340- */
341- public static function DTNow (string $ tzid ) : \DateTime
342- {
343- try
344- {
345- $ dtz = new \DateTimeZone ($ tzid );
346- }
347- catch (\Exception $ e )
348- {
349- $ dtz = null ;
350- }
351-
352- return new \DateTime ('now ' , $ dtz );
353- }
354-
355422 /**
356423 * Is given date after today?
357424 *
@@ -656,71 +723,4 @@ public static function toUTCDateTime(string $sqldate, string $tzid = 'UTC') : st
656723
657724 return $ date ->format ('Y-m-d H:i:s ' );
658725 }
659-
660- /**
661- * fromUnixDate()
662- *
663- * Take Unix timestamp and format to iCal date string
664- *
665- * @param int $datetime Unix timestamp, leave blank for current date/time
666- *
667- * @return string formatted iCal date string
668- */
669- public static function fromUnixDate (?int $ datetime = null ) : string
670- {
671- \date_default_timezone_set ('UTC ' );
672-
673- if (null == $ datetime )
674- {
675- $ datetime = \time ();
676- }
677-
678- return \date ('Ymd ' , $ datetime );
679- }
680-
681- /**
682- * fromUnixDateTime()
683- *
684- * Take Unix timestamp and format to iCal date/time string
685- *
686- * @param int $datetime Unix timestamp, leave blank for current date/time
687- *
688- * @return string formatted iCal date/time string
689- */
690- public static function fromUnixDateTime (?int $ datetime = null ) : string
691- {
692- \date_default_timezone_set ('UTC ' );
693-
694- if (null == $ datetime )
695- {
696- $ datetime = \time ();
697- }
698-
699- return \date ('Ymd\THis ' , $ datetime );
700- }
701-
702- /**
703- * fromSqlDateTime()
704- *
705- * Take SQL timestamp and format to iCal date/time string
706- *
707- * @param string $datetime SQL timestamp, leave blank for current date/time
708- *
709- * @return string formatted iCal date/time string
710- */
711- public static function fromSqlDateTime (?string $ datetime = null ) : string
712- {
713- \date_default_timezone_set ('UTC ' );
714-
715- if (null == $ datetime )
716- {
717- $ datetime = \time ();
718- }
719- else
720- {
721- $ datetime = \strtotime ($ datetime );
722- }
723-
724- return \date ('Ymd\THis ' , $ datetime );
725- }
726726 }
0 commit comments