织梦的时间是以int类型来保存的,所以要知道它的时间相差数,例如:2016-1-1 0:0:0 和 2012-1-1 0:0:0 相差多少。使用PHP来获取到相差数。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
<title>php中datetime时间和int时间互相转换</title>
</head>
<body>
<?php
//int时间转换datetime时间
echo date("Y-m-d H:i:s", 126230400);
echo '<br>';
//datetime时间转换int时间
echo '2016-1-1:'.strtotime("2016-1-1 0:0:0").'<br>';
echo '2015-1-1:'.strtotime("2015-1-1 0:0:0").'<br>';
echo '2014-1-1:'.strtotime("2014-1-1 0:0:0").'<br>';
echo '2013-1-1:'.strtotime("2013-1-1 0:0:0").'<br>';
echo '2012-1-1:'.strtotime("2012-1-1 0:0:0").'<br>';
//2016-1-1 减去 2012-1-1 = 相差的数字
?>
</body>
</html>
效果图:
在织梦中选择“SQL命令行工具”添加下面的SQL语句
UPDATE dede_archives SET pubdate=pubdate-126230400 WHERE pubdate>=1451606400;
UPDATE dede_archives SET pubdate=pubdate-94694400 WHERE pubdate>=1420070400;
UPDATE dede_archives SET pubdate=pubdate-63158400 WHERE pubdate>=1388534400;
UPDATE dede_archives SET pubdate=pubdate-31622400 WHERE pubdate>=1356998400;
将 {dede:field name='pubdate' function='GetDateMk(@me)'/} 修改为2012年
还有如下的修改方式,具体要看模板的标记是什么
UPDATE dede_archives SET senddate=senddate-126230400 WHERE senddate>=1451606400;
UPDATE dede_archives SET senddate=senddate-94694400 WHERE senddate>=1420070400;
UPDATE dede_archives SET senddate=senddate-63158400 WHERE senddate>=1388534400;
UPDATE dede_archives SET senddate=senddate-31622400 WHERE senddate>=1356998400;
一般不建议修改,因为如果修改了会影响带有日期的路径或文件名。因为织梦默认会添加带着日期的路径或文件名,所以要修改所有的路径或文件名不包含日期。
标签:年份,senddate,pubdate,WHERE,UPDATE,织梦,特定,archives,dede From: https://blog.51cto.com/u_16171388/6557294