我目前有一个这种格式的日期
2010-03-03 10:39:18
这是一个TIMESTAMP
MySQL 中的字段。我需要为名为 Solr 的搜索引擎提供以下格式的日期:
1995-12-31T23:59:59Z
以下是他们网站上有关日期的一些文字:
Solr 期望日期采用 UTC 格式:
索引。该日期的格式
字段的形式为
1995-12-31T23:59:59Z,并且是一个更多
规范的限制形式
日期时间的表示http://www.w3.org/TR/xmlschema-2/#dateTime http://www.w3.org/TR/xmlschema-2/#dateTime。
后面的“Z”表示 UTC 时间
并且是强制性的。可选分数
允许秒数:
1995-12-31T23:59:59.999Z 所有其他
组件是强制性的。
我从另一个问题上得到了这个代码,但它不起作用。 Solr 抱怨“无效的时间字符串”:
$solr_date = date('c', (strtotime($date_from_mysql)); // doesn't work
回响时$solr_date,
尾随的Z
上面提到的不存在。谢谢。
为什么不直接将其转换为 UTC?
$datetime = "2010-01-19 00:00:00";
echo "Datetime Before: ".$datetime."<br />";
$dttostr = strtotime("2010-01-19 00:00:00");
echo "Datetime After: ".formatToUTC($dttostr)."<br />";
echo "System Timezone: ".date_default_timezone_get()."<br />";
function formatToUTC($passeddt) {
// Get the default timezone
$default_tz = date_default_timezone_get();
// Set timezone to UTC
date_default_timezone_set("UTC");
// convert datetime into UTC
$utc_format = date("Y-m-d\TG:i:s\Z", $passeddt);
// Might not need to set back to the default but did just in case
date_default_timezone_set($default_tz);
return $utc_format;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)