<?php
-# Copyright (C) 2007 Jason Woofenden
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# This program is in the public domain within the United States. Additionally,
+# we waive copyright and related rights in the work worldwide through the CC0
+# 1.0 Universal public domain dedication, which can be found at
+# http://creativecommons.org/publicdomain/zero/1.0/
# This file contains functions to manipulate/calculate dates/times
+# FIXME make it so you can call this with a string YYYY-MM-DD
function ymd_to_days($year, $month, $day) {
return (int)(mktime(12,0,0,$month,$day, $year, 0) / 86400);
}
# pass date like 3/21/99
# returns array(year, month, day)
function mdy_clean($date) {
- $date = ereg_replace('[^0-9/-]', '', $date);
- $date = ereg_replace('-', '/', $date);
+ $date = preg_replace('|[^0-9/-]|', '', $date);
+ $date = preg_replace('|-|', '/', $date);
$parts = explode('/', $date);
switch(count($parts)) {
case 1:
# pass date like 2008-11-21
# returns array(year, month, day)
function ymd_clean($date) {
- $date = ereg_replace('[^0-9/-]', '', $date);
- $date = ereg_replace('/', '-', $date);
+ $date = preg_replace('|[^0-9/-]|', '', $date);
+ $date = preg_replace('|/|', '-', $date);
$parts = explode('-', $date);
switch(count($parts)) {
case 1:
$year = $parts[0];
- if(strlen($year) == 0) {
+ if(strlen($year) == 0 || $year < 1971 || $year > 2050) {
list($year, $month, $day) = explode('-', date('Y-m-d'));
} else {
list($month, $day) = explode('-', date('m-d'));
list($year, $month, $day) = ymd_clean($str);
return sprintf('%02u/%02u/%04u', $month, $day, $year);
}
-
-function enc_mdy($str) {
- return ymd_to_mdy($str);
-}
-
-function format_ymd($str) {
- list($year, $month, $day) = ymd_clean($str);
- return sprintf('%04u-%02u-%02u', $year, $month, $day);
-}