我将值列表传递给函数以转换为特定类型的值或从特定类型的值转换。例如,如果传递了PHP日期,或者传递了时间戳,我想转换为特定的日期格式。这是我现在的代码:
public static function attemptParseString($str) {
$check = strtotime($str);
if ($check !== FALSE) {
return date(ts_default_date_format, $check).' <span class="grey">(Orig: '.$str.')</span>';
}
$check = date(ts_default_date_format, $str);
if ($check !== FALSE) {
return $check.' <span class="grey">(Orig: '.$str.')</span>';
}
return $str;
}
大多数日期值(如'1361215542'和'2013-02-18 13:25:42')按预期返回,但我遇到一些奇怪的问题,例如'127.0.0.1'解析为'1969-12- 31 18:02:07','GET'解析为'2013-02-18 04:25:42'和'80'解析为'1969-12-31 18:01:20'。
除了检查日期函数是否将其解析为日期之外,我如何智能地判断字符串是否为有效日期?
我见过类似的问题,如下所示,但它们不太正确(有些是不同的编程语言,有些包含所有有效日期,但格式不同[而我包含日期和非日期字符串]。
Problem getting date with Universal Feed Parser Date parser for all formats Unexpected result from Date() function
谢谢!