opzzz 发表于 2007-10-30 00:09:16

简单解决 千年问题 1970-01-01(菜鸟教程)

谢谢版主给我加分,本文不光适合PHPCMS,同样适用所有日期类型为INT的管理系统!

本文章只适合菜鸟级别,高手请离开 GO


我们的文章大多都来自采集,不关是“火车头”还是官方PHPCMS自带的采集系统,都不能正确采集文章“发表时间”

我们得到的时间不是“系统时间”就是1970-01-01

这样就有很多问题,有的几千上万的文章是同一天发表,就是读者感觉不安全

搜索引擎也不愿收录你的网页,很我门损失很多流量

还没有使用采集器的我就不说了,已经采集很多文章的朋友,给你介绍一个很简单的方法修改“发表时间”


第一步

经分析官方PHP数据库 日期时间 数据类型 ,原来是INT整形,很牛,这样读取速度会快点!

http://bbs.phpcms.cn/attachments/forumid_3/20071029_e7bb377924f186297121n1Qr1OyYStpC.jpghttp://bbs.phpcms.cn/images/default/attachimg.gif

第二步

通过 timestamp 函数 把日期转换为 Int 类型

我已经上传到我的站上,欢迎大家使用

转换地址 :    http://www.51r.cn/member/cn.html

http://bbs.phpcms.cn/attachments/forumid_3/20071029_95f329cdc0f49b481048bQM9vjkyMtdO.jpghttp://bbs.phpcms.cn/images/default/attachimg.gif

转换为你所要的日期后复制日期字符串   如:1218182888   就是红色的数字。


http://bbs.phpcms.cn/attachments/forumid_3/20071029_aa80078d59d27800a0e5iVUTeqSppYxi.jpghttp://bbs.phpcms.cn/images/default/attachimg.gif

第三步

得到日期后 进入PHPCMS后台点:系统设置 》》》执行SQL 》》》 填写你要的AQL语句


如你的频道ID是1的话 就写

UPDATE phpcms_article_1 SET addtime=1186560488 WHERE articleid=1

其中phpcms_article_1的1是频道 ID   articleid=1 是文章ID

当然也可以批量修改

UPDATE phpcms_article_1 SET addtime=1186560488 WHERE articleid>1 andarticleid<10

http://bbs.phpcms.cn/attachments/forumid_3/20071029_d77e602503a2ec3b00cadtbpO9NL2zGY.jpghttp://bbs.phpcms.cn/images/default/attachimg.gif

这句的意思就是 修改数据库 phpcms_article_1 表 中 10>articleid>1 的所有文章的addtime(发表时间)字段 为 :1186560488

即:2008-08-10 08:08:08这样一次可以更新10条文章,你也可以改更多,反正最好不要整站文章一个日期!

火车尾巴 发表于 2007-10-30 10:24:12

谢谢。方便了大家。

转身的距离 发表于 2007-10-30 11:19:38

晕~这样修改时间啊~~我还以为是能把发布时间采集过来呢

opzzz 发表于 2007-10-30 14:06:11

因为我采集的文章已经采集过了,所以我才想修改的方法,不想删除数据,没有想采集的办法!不好意思!

七夜 发表于 2007-11-3 23:27:17

支持一下:ali12ls 分享

cshchenou 发表于 2008-1-28 17:26:10

支持 顶一下
页: [1]
查看完整版本: 简单解决 千年问题 1970-01-01(菜鸟教程)