精华内容
下载资源
问答
  • 要创建该表,我通常使用information_schema.COLUMNS,因为它可以在任何MySQL服务器上使用,并且至少有百行.如果您需要更多行 – 只需将其与自身连接即可. 现在让我们创建该表: drop table if exists helper_seq; ...

    如果格式不太重要,则可以为间隔返回两列.您甚至可能只需要间隔的开始,可以通过以下方式确定:

    date_format(created_at - interval minute(created_at)%30 minute, '%H:%i') as period_start

    别名可以在GROUP BY和ORDER BY子句中使用.如果您还需要间隔结束,则需要进行一些小修改:

    SELECT

    date_format(created_at - interval minute(created_at)%30 minute, '%H:%i') as period_start,

    date_format(created_at + interval 30-minute(created_at)%30 minute, '%H:%i') as period_end,

    COUNT(*)

    FROM urls

    GROUP BY period_start

    ORDER BY period_start ASC;

    当然你也可以连接这些值:

    SELECT concat_ws('-',

    date_format(created_at - interval minute(created_at)%30 minute, '%H:%i'),

    date_format(created_at + interval 30-minute(created_at)%30 minute, '%H:%i')

    ) as period,

    COUNT(*)

    FROM urls

    GROUP BY period

    ORDER BY period ASC;

    Another thing, is that, if it there is half an hour with no results, I

    would like it to return 0

    如果以过程语言使用结果,则可以在循环中初始化所有48行零,然后从结果中“注入”非零行.

    但是 – 如果需要在SQL中完成它,则需要一个至少有48行的LEFT JOIN表.这可以用“巨大的”UNION ALL语句内联完成,但(恕我直言)这将是丑陋的.所以我更喜欢让序列表有一个整数列,这对于报告非常有用.要创建该表,我通常使用information_schema.COLUMNS,因为它可以在任何MySQL服务器上使用,并且至少有几百行.如果您需要更多行 – 只需将其与自身连接即可.

    现在让我们创建该表:

    drop table if exists helper_seq;

    create table helper_seq (seq smallint auto_increment primary key)

    select null

    from information_schema.COLUMNS c1

    , information_schema.COLUMNS c2

    limit 100; -- adjust as needed

    现在我们有一个从1到100的整数表(虽然现在你只需要48 – 但这是为了演示).

    使用该表我们现在可以创建所有48个时间间隔:

    select time(0) + interval 30*(seq-1) minute as period_start,

    time(0) + interval 30*(seq) minute as period_end

    from helper_seq s

    where s.seq <= 48;

    我们将得到以下结果:

    period_start | period_end

    00:00:00 | 00:30:00

    00:30:00 | 01:00:00

    ...

    23:30:00 | 24:00:00

    现在我们可以将它用作派生表(FROM子句中的子查询)和LEFT JOIN你的urls表:

    select p.period_start, p.period_end, count(u.created_at) as cnt

    from (

    select time(0) + interval 30*(seq-1) minute as period_start,

    time(0) + interval 30*(seq) minute as period_end

    from helper_seq s

    where s.seq <= 48

    ) p

    left join urls u

    on time(u.created_at) >= p.period_start

    and time(u.created_at) < p.period_end

    group by p.period_start, p.period_end

    order by p.period_start

    最后一步(如果真的需要)是格式化结果.我们可以在外部选择中使用CONCAT或CONCAT_WS和TIME_FORMAT.最后的查询是:

    select concat_ws('-',

    time_format(p.period_start, '%H:%i'),

    time_format(p.period_end, '%H:%i')

    ) as period,

    count(u.created_at) as cnt

    from (

    select time(0) + interval 30*(seq-1) minute as period_start,

    time(0) + interval 30*(seq) minute as period_end

    from helper_seq s

    where s.seq <= 48

    ) p

    left join urls u

    on time(u.created_at) >= p.period_start

    and time(u.created_at) < p.period_end

    group by p.period_start, p.period_end

    order by p.period_start

    结果如下:

    period | cnt

    00:00-00:30 | 1

    00:30-01:00 | 0

    ...

    23:30-24:00 | 3

    展开全文
  • 有些书号称是漫画,但是依然以文字为主,漫画只是插图,而这本书不同,这是一本真·漫画书,全是漫画,全彩印刷,读起来酣畅淋漓,真正让你看半小时漫画就可以通晓计算机基础。 这本漫画书致力于讲解计算机的基础...

    转眼间,距离《码农翻身》的出版已经过去三年了,很多读者读完后意犹未尽,经常催促作者:下一本书什么时候出啊?

    现在它终于来了,和第一本书不同的是,这本书完成了一次华丽的升级:

    从用故事讲解技术,升级为用漫画讲解技术。

    在这里插入图片描述

    为了更好的阅读体验,本书排版设计了近10个版本,设计师换了3个,反复修改,就为了实现好的阅读效果。

    为了防止纸质效果和电脑上看的效果不一致,还特意快印了四五次。

    相比于文字,漫画形式更有视觉冲击力,更加有趣,受众也更广,连作者上小学的女儿也会被其中的一些章节逗得哈哈大笑——虽然她看不懂其中的内容。

    在这里插入图片描述

    有些书号称是漫画,但是依然以文字为主,漫画只是插图,而这本书不同,这是一本真·漫画书,全是漫画,全彩印刷,读起来酣畅淋漓,真正让你看半小时漫画就可以通晓计算机基础。

    在这里插入图片描述

    这本漫画书致力于讲解计算机的基础知识,例如计算机网络,操作系统,CPU,数据库,编程语言,基本全乎了。

    有读者反馈说:“看了之后,感觉用漫画故事的形式来讲解硬核的知识,很新颖有趣。随手翻开这本书,都能在不经意间发现程序员那种质朴的浪漫,可以看出来,作者在很用心地去写好每一次对话、勾勒每一个图案。”

    本书一共分为五章,每一章都有不同的风景。

    在第一章,你可以花上几两银子,体验一下大明王朝TCP/IP 和 HTTP。与此同时,张大胖会在和朋友的聊天中逐步“发明”HTTPS。你还能看看那些可爱的网卡、CPU,内存是怎么从零开始上网的, 以及一张身份证是怎么在网络中被切割和传输的。

    在这里插入图片描述

    在这里插入图片描述

    到了第二章,可以看看操作系统是怎么“骗人”的, “一切皆文件”到底是怎么回事, 程序员最喜欢的Hello World在执行时有什么秘密。

    在这里插入图片描述
    在这里插入图片描述

    第三章则能看到跑得飞快的CPU阿甘一天有趣的生活, 不断打仗的黑毛部落和秃头部落居然促成了通用计算机的诞生,以及两段“相声”:从1加到100和函数调用的秘密。

    在这里插入图片描述
    在这里插入图片描述

    第四章展示了数据库帝国的一次危机和内部斗争。

    在第五章,你可以用一个奇特的天平去称一称编程语言的重量,还可以“欣赏”一下字节码王国的兴起和扩张, 顺便看看上帝是怎么教会人类面向对象编程的。

    在这里插入图片描述
    在这里插入图片描述

    用一句话来总结 :有趣且硬核的技术漫画, 肯定不会辜负的大家的期待!

    在这里插入图片描述

    展开全文
  • $f=array( ‘31536000‘=>‘年‘, ‘2592000‘=>‘个月‘, ‘604800‘=>‘星期‘, ‘86400‘=>‘天‘, ‘3600‘=>‘小时‘, ‘60‘=>‘分钟‘, ‘1‘=>‘秒‘ ); foreach ($f as $k=>$v) { if (0 !=$c=floor($t/...

    一、函数实现

    实例1:

    function time_tran($the_time){

    $now_time = date("Y-m-d H:i:s",time()+8*60*60);

    $now_time = strtotime($now_time);

    $show_time = strtotime($the_time);

    $dur = $now_time - $show_time;

    if($dur < 0){

    return $the_time;

    }else{

    if($dur < 60){

    return $dur.‘秒前‘;

    }else{

    if($dur < 3600){

    return floor($dur/60).‘分钟前‘;

    }else{

    if($dur < 86400){

    return floor($dur/3600).‘小时前‘;

    }else{

    if($dur < 259200){//3天内

    return floor($dur/86400).‘天前‘;

    }else{

    return $the_time;

    }

    }

    }

    实例2:

    function format_date($time){

    $t=time()-$time;

    $f=array(

    ‘31536000‘=>‘年‘,

    ‘2592000‘=>‘个月‘,

    ‘604800‘=>‘星期‘,

    ‘86400‘=>‘天‘,

    ‘3600‘=>‘小时‘,

    ‘60‘=>‘分钟‘,

    ‘1‘=>‘秒‘

    );

    foreach ($f as $k=>$v)    {

    if (0 !=$c=floor($t/(int)$k)) {

    return $c.$v.‘前‘;

    }

    }

    }

    ?>

    实例3:

    function formatTime($date) {

    $str = ‘‘;

    $timer = strtotime($date);

    $diff = $_SERVER[‘REQUEST_TIME‘] - $timer;

    $day = floor($diff / 86400);

    $free = $diff % 86400;

    if($day > 0) {

    return $day."天前";

    }else{

    if($free>0){

    $hour = floor($free / 3600);

    $free = $free % 3600;

    if($hour>0){

    return $hour."小时前";

    }else{

    if($free>0){

    $min = floor($free / 60);

    $free = $free % 60;

    if($min>0){

    return $min."分钟前";

    }else{

    if($free>0){

    return $free."秒前";

    }else{

    return ‘刚刚‘;

    }

    }

    }else{

    return ‘刚刚‘;

    }

    }

    }else{

    return ‘刚刚‘;

    }

    }

    }

    实例4:

    function time_tran($the_time){

    $now_time = date("Y-m-d H:i:s",time()+8*60*60);

    $now_time = strtotime($now_time);

    $show_time = strtotime($the_time);

    $dur = $now_time - $show_time;

    if($dur < 0){

    return $the_time;

    }else{

    if($dur < 60){

    return $dur.‘秒前‘;

    }else{

    if($dur < 3600){

    return floor($dur/60).‘分钟前‘;

    }else{

    if($dur < 86400){

    return floor($dur/3600).‘小时前‘;

    }else{

    if($dur < 259200){//3天内

    return floor($dur/86400).‘天前‘;

    }else{

    return $the_time;

    }

    }

    }

    }

    }

    }

    二、类的实现

    /*

    * author: Solon Ring

    * time: 2011-11-02

    * 发博时间计算(年,月,日,时,分,秒)

    * $createtime 可以是当前时间

    * $gettime 你要传进来的时间

    */

    class Mygettime{

    function  __construct($createtime,$gettime) {

    $this->createtime = $createtime;

    $this->gettime = $gettime;

    }

    function getSeconds()

    {

    return $this->createtime-$this->gettime;

    }

    function getMinutes()

    {

    return ($this->createtime-$this->gettime)/(60);

    }

    function getHours()

    {

    return ($this->createtime-$this->gettime)/(60*60);

    }

    function getDay()

    {

    return ($this->createtime-$this->gettime)/(60*60*24);

    }

    function getMonth()

    {

    return ($this->createtime-$this->gettime)/(60*60*24*30);

    }

    function getYear()

    {

    return ($this->createtime-$this->gettime)/(60*60*24*30*12);

    }

    function index()

    {

    if($this->getYear() > 1)

    {

    if($this->getYear() > 2)

    {

    return date("Y-m-d",$this->gettime);

    exit();

    }

    return intval($this->getYear())." 年前";

    exit();

    }

    if($this->getMonth() > 1)

    {

    return intval($this->getMonth())." 月前";

    exit();

    }

    if($this->getDay() > 1)

    {

    return intval($this->getDay())." 天前";

    exit();

    }

    if($this->getHours() > 1)

    {

    return intval($this->getHours())." 小时前";

    exit();

    }

    if($this->getMinutes() > 1)

    {

    return intval($this->getMinutes())." 分钟前";

    exit();

    }

    if($this->getSeconds() > 1)

    {

    return intval($this->getSeconds()-1)." 秒前";

    exit();

    }

    }

    }

    //类的使用实例

    /*

    *

    * 调用类输出方式

    *

    * $a = new Mygettime(time(),strtotime(‘-25 month‘));

    * echo iconv(‘utf-8‘, ‘gb2312‘, $a->index())?iconv(‘utf-8‘, ‘gb2312‘, $a->index()):iconv(‘utf-8‘, ‘gb2312‘, ‘当前‘);

    *

    */

    原文:http://www.jb51.net/article/48835.htm

    展开全文
  • 需求1:从0点开始,每隔2个半小时,执行一次 思路记录: 1.先列出,我们预期的执行时间: 2.30,5.00,7.30,10.00,12.30,15:00 2.找规律:我们知道间隔 整数(1,2,3,,,)个小时的cron表达式;根据此前提,找间隔 整数个小时 时间...

    一、配置

    1)全局用户配置文件(/etc/crontab)

    直接VI等编辑就可以。

    2)个人用户配置(临时配置)

    加任务:

    crontab -e

    0 */1 * * * command

    0 */2 * * * command

    查询任务是否加了:

    crontab -l

    0 */1 * * * command

    0 */2 * * * command

    二、配置格式

    * *  *  *  *  command

    分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天)  命令

    第1列表示分钟1~59 每分钟用*或者 */1表示

    第2列表示小时1~23(0表示0点)

    第3列表示日期1~31

    第4列表示月份1~12

    第5列标识号星期0~6(0表示星期天)

    第6列要运行的命令

    相关参数详细说明:

    星号(*)可以用来代表所有有效的值。譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。

    整数间的短线(-)指定一个整数范围。譬如,1-4 意味着整数 1、2、3、4。

    用逗号(,)隔开的一系列值指定一个列表。譬如,3, 4, 6, 8 标明这四个指定的整数。

    正斜线(/)可以用来指定间隔频率。在范围后加上 / 意味着在范围内可以跳过 integer。譬如,0-59/2 可以用来在分钟字段定义每两分钟。间隔频率值还可以和星号一起使用。例如,*/3 的值可以用在月份字段中表示每三个月运行一次任务。

    开头为井号(#)的行是注释,不会被处理。 三、配置实例

    展开全文
  • 多了解了解数据库的那些函数就行了。这样实现很简单如果是MySQL的话:可以直接使用函数来实现:select date_add('2012-07-25 10:55:56',interval 3 Hour)如果使用的是SQLServer的话,可以使用:select dateadd(hour,...
  • 用crontab设定程序每天每小时执行一次,crontab怎么写?|我写的有问题,应该*/30****cmd|名称:crontab使用权限:所有使用者使用方式:crontab[-uuser]filecrontab[-uuser]{-l|-r|-e}说明:crontab是用来让使用者在...
  • 寅时是点到点:3点-5点(24小时凌晨3时~凌晨5时)【寅时】平旦,又称黎明、早晨、日旦等:时是夜与日的交替之际。(上午3时正至上午5时正)。老虎在此时最猛。寅时出生的人命运(03时至05时)寅时出生的人命运总论:...
  • 半小时漫画唐诗》读书摘记

    千次阅读 2021-03-28 09:51:30
    半小时漫画唐诗(共2册)(独家定制版) 陈磊·半小时漫画团队 131个笔记 ◆ 一、开篇:古诗是怎样被唱出来的? 诗词,其实就是古代的流行歌曲,它们记录着一个个时代的变迁,是历史的旋律。 诗经内容分为风雅颂...
  • 半小时漫画预防常见病 陈磊·半小时漫画团队 60个笔记 ◆ 一、流感肆虐,你中招了吗 多锻炼、少熬夜, 增强免疫力是关键! 流行性感冒,人们通常叫它流感,它的元凶叫作流感病毒。 流感属于急性呼吸道传染...
  • Java获取当前时间前小时

    千次阅读 2021-03-14 10:46:37
    如何获取当前时间的前小时作为开始时间,当前时间作为结束时间。代码如下:/**在Java端创建**/String startDate = null;String endDate = null;SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:...
  • }else if($counttime>=3600 && $counttime*24){ return intval(($counttime/3600)).'小时前'; }else if($counttime>=3600*24 && $counttime*24*2){ return '昨天'; }else if($counttime>=3600*24*2 && $counttime*...
  • 寅时是点到点:3点-5点(24小时凌晨3时~凌晨5时)【寅时】平旦,又称黎明、早晨、日旦等:时是夜与日的交替之际。(上午3时正至上午5时正)。老虎在此时最猛。寅时出生的人命运(03时至05时)寅时出生的人命运总论:...
  • 最近关注的个算法的公众号都看到了如题的一篇文章,后1道题单拿出来我肯定不能小时内解决。前三道题非常基础,相信大部分人能用自己熟悉的语言很快解决,而且解决的方法可以多种多样,这里说一下我对于最后两...
  • 直接贴代码:import java.util.Calendar;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class TestSchedule {static int count = 0;public static void showTimer() {TimerTask ...
  • ORACLE 查询近一天, 近半小时内的数据SELECT 字段 FROM 表名 WHERE 时间字段 BETWEEN SYSDATE-1 AND SYSDATE; // 查询一天内的数据sysdate+1 加一天sysdate+1/24 加 1 小时sysdate+1/(24*60) 加 1 分钟sysdate+1/(24...
  • 标签:日期caltimeaddtime()setcalendar结果javaCalendar c = Calendar.getInstance();c.setTime(cur); //设置时间c.add(Calendar.MINUTE, 1); //日期分钟加1,Calendar.DATE(天),Calendar.HOUR(小时)Date dat...
  • 1.几小时前换算时间戳 now_time = int(time.time()) print(now_time) timeArray = datetime.datetime.utcfromtimestamp(time_now1) print(timeArray) # 加8小时时区,再减几小时前时间 datetime =...
  • export function timeago(dateTimeStamp) { //dateTimeStamp是一个时间... //把分,时,天,周,个月,一个月用毫秒表示 var hour = minute * 60; var day = hour * 24; var week = day * 7; var halfamonth = da
  • = to_now_datetime() else: 指定的时间 = to_datetime(指定的时间) 当前整点时间 = 指定的时间.replace(minute=0, second=0, microsecond=0) 当前整点时间_加一小时 = to_datetime(当前整点时间, 增加几小时=1) ...
  • 半小时搞定Yolov5安装配置及使用(详细过程)

    万次阅读 多人点赞 2021-07-03 22:00:12
    实践整个过程半小时即可搞定(前提已有Anaconda) 总体来看Yolov5的速度和效率较之前yolov4等系列都快,准确度更高。。 在下载配置Yolov5前,先要安装好Anaconda环境,可参考之前博文:最新Anaconda3的安装配置及...
  • 目前,它是对天内同一小时的所有值进行平均. (今天的11,昨天的11等的值相加得出平均值)我没有一种简单的方法来测试它,但是类似:SELECTTRUNCATE(AVG(TIME_TO_SEC(TIMEDIFF(END_DATE, START_DATE))/60), 2) as ...
  • 网站默认的时间格式,是“多少小时前”,觉得太单薄,想像 V2EX 这样,显示“多少小时多少分钟前”,小白一个,请大神指教,多谢!原代码如下:function humandate($timestamp, $lan = array()) {$time = $_SERVER['...
  • 本文实例讲述了Java获得当前时间前指定小时具体时间的方法。分享给大家供大家参考,具体如下:package getBeforeHourDemo;import java.text.SimpleDateFormat;import java.util.Calendar;//获取当前时间,指定...
  • mysql怎么在当前时间增加一小时

    千次阅读 2021-03-04 02:35:31
    经研究查找,Postgr 2021-01-16 17:48:58 今天整理了下 postgresql 个 timeout 参数select version(); version --------------------------------------------- 2021-01-16 17:48:43 1.查看参数文件的位置使用show...
  • 每年的11月11号 11点11分触发(光棍节) 追问 谢谢大家的回答,但是都不是我想要的,各位看看,这个 表达式是否正确: 每隔一个半小时执行一次 0 0/30 0/1 * * ? 已赞过 已踩过你对这个回答的评价是? 评论 收起
  • 本文介绍的就是 Rust,作者表示,通过解析大量代码,「小时」就能入门 Rust。Rust 是一门系统编程语言,专注于安全,尤其是并发安全。它支持函数式和命令式以及泛型等编程范式的多范式语言,且 TensorFlow 等...
  • 2021 开年,拼夕夕热搜不断。我在想拼夕夕的公关们都要感叹:2021 有点艰难。回顾一下拼夕夕的这天的热点:2020 年 12 月 29 日 23 岁拼夕夕员工凌晨回家路上猝死......
  • 我发现在StackOverflow上使用days的另一个例子,但仍然不明白如何用小时来做​​。#1 热门回答(183 赞)检查日历类。它有add方法(以及其他一些方法)来允许时间操纵。这样的事情应该有效。Calendar cal = Calendar...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 165,381
精华内容 66,152
关键字:

半小时是几小时