如何处理诸如“5 分钟前”“3 小时前”“两天前”这样的时间

2017-02-24 20:50:45 +08:00
 devzero
爬到如题的一些关于时间的描述,不知道如何转换为当前计算机的时间
6324 次点击
所在节点    Python
48 条回复
devzero
2017-02-24 22:45:09 +08:00
@sfree2005 嗯,确认了
嘛,至少比日期精确
mringg
2017-02-24 22:51:01 +08:00
我更喜欢 shell
qhxin
2017-02-24 23:03:01 +08:00
strtotime php 是世界上最好的语言
sunchen
2017-02-24 23:09:16 +08:00
自己算一下呗,算个大概时间
FreeDog
2017-02-24 23:10:12 +08:00
总共就那些固定格式,收集、判断、提取字符串转换下即可
FreeDog
2017-02-24 23:10:43 +08:00
做好了可以传到 pip 或者 GitHub 上~ 应该不少人会用到
onlyhot
2017-02-24 23:12:43 +08:00
已经有人说过了 我再说一遍 php 是最好的语言..
cxbig
2017-02-24 23:14:50 +08:00
具体分析下咯
看看这个内容的背后是什么机制驱动的,如果是纯前端,多半在什么地方有时间戳,只要数据不是藏在闭包里,还是有机会拿到的
实在不行,要求不是那么精确的话,根据文法用正则翻译一下
如“一小时以前”可以变成 date.today() - timedelta(hours = 1)什么的
falcon05
2017-02-24 23:18:08 +08:00
写个 strtotime 的 PHP 脚本, Python 里调用 PHP 脚本获取结果,(逃
nightv2
2017-02-24 23:20:01 +08:00
@cxbig v2 的也包含时间戳么?
sobigfish
2017-02-24 23:32:33 +08:00
因为最终大多数都变成多少天前,所以你这个数据的精度要不了那么高吧,直接算日子,省略时间吧
devzero
2017-02-24 23:33:55 +08:00
@sobigfish 😂说得也是
cxbig
2017-02-24 23:41:10 +08:00
@nightv2 没仔细研究,看上去是没有实时更新的。不过精确到分钟,想来精度是够用的。
devzero
2017-02-24 23:41:51 +08:00
@BiggerLonger 是用 arrow.get 么...
trcnkq
2017-02-25 01:31:34 +08:00
这里其实隐含了另一个问题:“ 5 分钟前”“ 3 小时前”“两天前”表示的精度是不一样的,都转化成一个精确到秒且没有其他信息的数据并不合适。
malcolmyu
2017-02-25 01:57:28 +08:00
precisi0nux
2017-02-25 06:16:32 +08:00
@falcon05 php 有更好的实现, Carbon
ikaros
2017-02-25 10:06:16 +08:00
我觉得问题在于不同的网站都各有一套显示规则,还不止这个显示方式,新闻抓取就这毛病
xiaonengshou
2017-02-25 10:19:59 +08:00
竟然有人妄图让后端转换这些东西。。。如果在实际项目里,后端转换了,这个项目就废了
noNOno
2017-02-25 10:30:58 +08:00
@xiaonengshou 看需求,如果爬下来的数据是要离线分析用, ETL 时处理也没什么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/343007

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX