社区
基础编程
帖子详情
唠叨帮忙喔 php mysql的日期问题
phpeye
2007-03-07 01:42:11
表中有一个字段是date1 是用来放秒的
如何得到 今日 本周 本月 这三个的访问量?
谢谢,在线等你
...全文
791
34
打赏
收藏
唠叨帮忙喔 php mysql的日期问题
表中有一个字段是date1 是用来放秒的 如何得到 今日 本周 本月 这三个的访问量? 谢谢,在线等你
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
34 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Meteorlet
2007-03-14
打赏
举报
回复
请确定你的date1是Int整型,而不是time字段
然后用以下SQL查询,没有测试过
当天:SELECT * FROM tbl WHERE TODAYS(FROM_UNIXTIME(date1)) = TODAYS(Now())
昨天:SELECT * FROM tbl WHERE TODAYS(FROM_UNIXTIME(date1)) = TODAYS(DATESUB(Now(), INTERVAL 1 DAY))
本周:SELECT * FROM tbl WHERE TODAYS(FROM_UNIXTIME(date1)) >= TODAYS(DATESUB(Now(), INTERVAL (DATE_FORMAT(FROM_UNIXTIME(date1), "%w") DAY)) AND TODAYS(FROM_UNIXTIME(date1)) <= TODAYS(DATEADD(Now(), INTERVAL (7 - DATE_FORMAT(FROM_UNIXTIME(date1), "%w")) DAY))
本月也是一样
fishfun123
2007-03-14
打赏
举报
回复
假设LZ的date1为VARCHAR(32), 内容为
<?php $query="insert into db.tbl(date1) values('" . time() . "')"; ?>
下面的代码可求出date1的上限和下限.
<?php
$someday = strtotime("yesterday");
echo "Select a date: " . $someday . "(" . date("Y-m-d H:i:s", $someday) . ")";
//Total for one day or today
$time_from = mktime(0, 0, 0, date("m", $someday), date("d", $someday), date("Y", $someday));
$time_to = mktime(0, 0, 0, date("m", $someday), date("d", $someday) + 1, date("Y", $someday));
echo "</p>Total for one day or today";
echo "</br>" . $time_from . "(" . date("Y-m-d H:i:s", $time_from) . ")";
echo " - " . $time_to . "(" . date("Y-m-d H:i:s", $time_to) . ")";
//Total for one week or this week
//Week starts on Monday
$w = (date("w", $someday) == 0)? 7: date("w", $someday); //1-Monday, ... , 6-Saturday, 7-Sunday
$time_from = mktime(0, 0, 0, date("m", $someday), date("d", $someday) - $w + 1, date("Y", $someday));
$time_to = mktime(0, 0, 0, date("m", $someday), date("d", $someday) - $w + 8, date("Y", $someday));
echo "</p>Total for one week or this week - Week starts on Monday";
echo "</br>" . $time_from . "(" . date("Y-m-d H:i:s", $time_from) . ")";
echo " - " . $time_to . "(" . date("Y-m-d H:i:s", $time_to) . ")";
//Week starts on Sunday
$w = date("w", $someday); //1-Monday, ... , 6-Saturday, 0-Sunday
$time_from = mktime(0, 0, 0, date("m", $someday), date("d", $someday) - $w, date("Y", $someday));
$time_to = mktime(0, 0, 0, date("m", $someday), date("d", $someday) - $w + 7, date("Y", $someday));
echo "</p>Total for one week or this week - Week starts on Sunday";
echo "</br>" . $time_from . "(" . date("Y-m-d H:i:s", $time_from) . ")";
echo " - " . $time_to . "(" . date("Y-m-d H:i:s", $time_to) . ")";
//Total for one month or this month
$time_from = mktime(0, 0, 0, date("m", $someday), 1, date("Y", $someday));
$time_to = mktime(0, 0, 0, date("m", $someday) + 1, 1, date("Y", $someday));
echo "</p>Total for one month or this month";
echo "</br>" . $time_from . "(" . date("Y-m-d H:i:s", $time_from) . ")";
echo " - " . $time_to . "(" . date("Y-m-d H:i:s", $time_to) . ")";
//Total for one year or this year
$time_from = mktime(0, 0, 0, 1, 1, date("Y", $someday));
$time_to = mktime(0, 0, 0, 1, 1, date("Y", $someday) + 1);
echo "</p>Total for one year or this year";
echo "</br>" . $time_from . "(" . date("Y-m-d H:i:s", $time_from) . ")";
echo " - " . $time_to . "(" . date("Y-m-d H:i:s", $time_to) . ")";
?>
运行结果:
Select a date: 1173754062(2007-03-12 22:47:42)
Total for one day or today
1173672000(2007-03-12 00:00:00) - 1173758400(2007-03-13 00:00:00)
Total for one week or this week - Week starts on Monday
1173672000(2007-03-12 00:00:00) - 1174276800(2007-03-19 00:00:00)
Total for one week or this week - Week starts on Sunday
1173589200(2007-03-11 00:00:00) - 1174190400(2007-03-18 00:00:00)
Total for one month or this month
1172725200(2007-03-01 00:00:00) - 1175400000(2007-04-01 00:00:00)
Total for one year or this year
1167627600(2007-01-01 00:00:00) - 1199163600(2008-01-01 00:00:00)
fishfun123
2007-03-14
打赏
举报
回复
LZ的数据库里到底是什么内容? 为何不贴出一些数据作为参考呢?
lzkd
2007-03-14
打赏
举报
回复
也许我比较笨,还是没明白.楼主为什么想从time()中得到本周,本日等的流量?好象八杆子打不着呀
xuzuning
2007-03-14
打赏
举报
回复
“我是说表里面有这么一个字段是用来放time()的”
“我再补充一下吧
我有一个表,其中有一个时间字段叫date1,是time型的,即插入的时候是以time()插入的”
你已经出现概念性错误啦!
1、mysql中没有time函数,可见“用来放time()的”中的time()是php的函数(返回自1970年1月1日0时以来的秒数)
2、mysql中的time类型字段为时间字段,只保存时间而与日期无关
这两个东西并不等价,所以你的要求并不可能实现。
ice_berg16
2007-03-14
打赏
举报
回复
case 1: //今天
$today = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
$tmp .= (empty($tmp)?"WHERE":"AND") . " t.telTime > $today ";
break;
case 2: //昨天
$today = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
$yestoday = mktime(0, 0, 0, date("m"), date("d")-1, date("Y"));
$tmp .= (empty($tmp)?"WHERE":"AND") . " t.telTime BETWEEN $yestoday AND $today ";
break;
case 3: //本星期
$w = date("w") == 0 ? 7 : date("w");
$thisweek = mktime(0, 0, 0, date("m"), date("d")-$w+1, date("Y"));
$tmp .= (empty($tmp)?"WHERE":"AND") . " t.telTime > $thisweek ";
break;
case 4: //本月
$thismonth = mktime(0, 0, 0, date("m"), 1, date("Y"));
$tmp .= (empty($tmp)?"WHERE":"AND") . " t.telTime > $thismonth ";
break;
phpeye
2007-03-14
打赏
举报
回复
答案已经有人给出
但我们的讨论的意义已经超出了答案的意义.
作为这么一个日期问题的帖子应该对我这一阶段的和后来学习PHP的人有一个借鉴的机会.
谢谢所有参与的人!!
phpeye
2007-03-14
打赏
举报
回复
嗯,是我说的不清楚,我有罪!
我的意思是用$tt=time();产生秒数后再insert进表中的date1
phpeye
2007-03-13
打赏
举报
回复
如果能解决不用唠叨也行的,对吧,兄弟们!
如果不用mysql自带的函数那就怎么实现呢?
我的意思是本日,本周,本月,而不是一日,一周,一月.
free_kyy
2007-03-09
打赏
举报
回复
一定要唠叨啊
zhys9
2007-03-09
打赏
举报
回复
$time = time();
今天的条件:data1 > strtotime(date('Ymd',$time))
本周的条件:data1 > strtotime(date('Ymd',$time))
本月的条件:data1 > strtotime(date('YmW',$time))
cho__cho
2007-03-09
打赏
举报
回复
可不可以用MYSQL中的to_days()函数来查询,楼主只要求统计到天的
gu1dai
2007-03-09
打赏
举报
回复
翻mysql手册啊,兄弟。
pswdf
2007-03-09
打赏
举报
回复
本周的SQL:
"SELECT * FROM table WHERE WEEK(FROM_UNIXTIME(`time1`, "%Y-%m-%d"),1) = ".intval(date("W"));
天降大任于斯
2007-03-08
打赏
举报
回复
对本周的方法:
$week = date("W"); //本年的第几周,从星期一开始计算
$year = date("y"); //本年
$start = $week*7*24*60*60 + $year //本周初
$end = $start*7*24*60*60 //本周末
where data1>$start AND $data1<end
date()函数有个date("t")可以返回当前月份应有的天数,就分出了30天,29天,31天了
其他的就如前面的组合就可以
效率不高,但基本实现了需求
还有很多个时间函数
天降大任于斯
2007-03-08
打赏
举报
回复
对本日最保险最原始的方法:
$year = date("y"); //本年
$month = date("n"); //本月
$day = date("j"); //本日
$today = mktime(0,0,0,$month,$day,$year);
WHERE data1>$today AND data1<($today-24*60*60)
phpeye
2007-03-08
打赏
举报
回复
本日=08
本月=03
本周=Thursday
这样真的可以吗?
bflovesnow
2007-03-08
打赏
举报
回复
为啥不看看手册呢??
phpeye
2007-03-08
打赏
举报
回复
zeroleonhart,给点例子看看呢,好吗
zeroleonhart
2007-03-08
打赏
举报
回复
活用php里date和strtotime函数
加载更多回复(14)
基于SpringBoot+微信小程序的微信社团活动助手
php
管理系统设计与实现【Java+
MySQL
+MyBatis完整源码】
本文设计并实现了一款基于SpringBoot和微信小程序的社团活动管理系统,解决传统社团活动信息传递效率低、参与度不足等
问题
。系统采用前后端分离架构,后端基于SpringBoot、MyBatis与
MySQL
实现数据持久化处理,前端通过微信小程序构建用户交互界面,支持活动发布、报名、签到、评价及数据分析等功能,并使用JWT进行身份认证、Redis提升访问性能。
Delpih 13.1控件之《AVP虚拟化系统》简要使用手册图片显示完整版.7z
Delpih 13.1控件之《AVP虚拟化系统》简要使用手册图片显示完整版.7z
java面试题集和笔试题汇总
代码转载自:https://pan.quark.cn/s/a4b39357ea24 关于Java的面试资源、面试题库以及笔试题的集合资料,关于Java的面试资源、面试题库以及笔试题的集合资料,关于Java的面试资源、面试题库以及笔试题的集合资料,涵盖了基础面试
问题
、Java Web面试
问题
、JAVA面试题库.txt以及分布式相关面试
问题
的汇编.pdf。期待这些资料能够对您提供有效的支持!!
豆包DeepSeek收录优化系统 GEO关键词排名工具 企业AI搜索流量获客
核心功能全包含: 覆盖主流平台:支持DeepSeek、豆包、文心一言、腾讯元宝等六大模型。 AI智能创作:内置文章在线AI写作功能,内容源源不断。 精准获客:支持高检索量关键词筛选,锁定精准流量。 全自动发布:支持文章自动发布,对接权威媒体平台。 品牌定制:支持自建知识库、图片素材库,打造专属品牌形象。 数据透明:提供各大模型关键词反馈报表,效果看得见。 适用人群: 适用于工厂、企业、商务服务、销售经理等各行各业。 操作简单,支持月卡/年卡,灵活使用,低成本维持优化效果。
基础编程
21,889
社区成员
140,337
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章