PHP中,如何优雅的将mysql存储的int型“201112”输出成“2011-12”

2012-01-12 00:17:37 +08:00
 summic
5720 次点击
所在节点    PHP
34 条回复
chairo
2012-03-12 14:34:35 +08:00
@xwsoul时间戳可以取区间啊怎么会麻烦
tuoxie007
2012-03-12 14:46:24 +08:00
@reus 让你知道什么叫ugly
if (str == '201212')
return '2012-12'
xwsoul
2012-03-14 19:41:42 +08:00
@chairo 求时间戳换算生日方法...考虑效率
chairo
2012-03-14 20:00:32 +08:00
@xwsoul 用php把'xxx-xx-xx 00:00:00'和'xxx-xx-xx 23:59:59'转换成unix时间戳,然后sql中>=和<=不就可以了?这样效率还会差?在这列做索引都没问题
benzhe
2012-03-14 20:36:03 +08:00
正则是个好同志
preg_replace('/(\d{4})(\d+)/','$1-$2',201012);
xwsoul
2012-03-15 09:18:46 +08:00
@chairo 84年和85年同一天生日的话...时间戳是不一样的吧?
guoquan
2012-03-15 09:32:14 +08:00
我觉得……你应该优雅的别这么存……
chairo
2012-03-15 10:00:23 +08:00
@xwsoul 当然时间戳不一样啊,怎么可能一样...不过前边我有个错误应该是'xxxx-xx-xx 00:00:00'和'xxxx-xx-xx 23:59:59'格式转成时间戳,年那少了一位...
chairo
2012-03-15 10:02:47 +08:00
@xwsoul 我刚明白你想要的需求。。。确实如果查所有人同月同日但不同年的话时间戳有点麻烦,Sorry没注意看,本来我理解的同一天就是同年同月同日
xwsoul
2012-03-16 17:51:23 +08:00
@chairo 呃..也是我没表述清楚...
cute
2012-03-23 21:18:40 +08:00
echo wordwrap('201112', 4, '-', true);
cute
2012-03-23 21:37:45 +08:00
或者echo substr_replace('201112', '-', 4, 0);
airylinus
2012-04-12 18:48:48 +08:00
如果要谈论优雅,所有世界都存储为int
Semon
2012-04-12 19:27:26 +08:00
@vibbow +1

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

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

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

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

© 2021 V2EX