mysql 时间日期格式化示例

本文对比了使用SQL和Java进行时间格式化查询的效率,展示了一条SQL语句如何替代复杂的Java代码实现相同功能。通过具体示例,深入解析了SQL在数据查询上的优势,并附带了MySQL日期格式化查询的详细说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好吧,我太菜了一条sql 搞定的事儿我自己在后端用Java代码干了一百多行的代码才搞定了,苦逼的初级开发请看我的java代码

 

public Result getUserActivityTime() throws ParseException {
        // TODO Auto-generated method stub
        log.info("获取用户活动开始时间,结束时间");
        Result result = new Result();
        UserActivityEntity userActivityEntity =  userLoginMapper.getUserActivityTime();
        if(null  == userActivityEntity ) {
            result.setCode(500);
            result.setDesc("系统内部错误");
        }
        String playoneStartTime = "";
        String playoneEndTime = "";
        String playtwoStartTime = "";
        String playtwoEndTime = "";
        //yyyy-MM-dd HH:mm:ss  yyyy年MM月dd日
        SimpleDateFormat  simepleDateFormat = new SimpleDateFormat ("yyyy-MM-dd HH:mm");
        Date fdCreateDate = userActivityEntity.getFdPlayoneStartTime();
        Date fdUpdateDate = userActivityEntity.getFdPlayoneEndTime();
        Date playtwoStartTime1 = userActivityEntity.getFdPlaytwoStartTime();
        Date playtwoEndTime1 = userActivityEntity.getFdPlaytwoEndTime();
        playoneStartTime = simepleDateFormat.format(fdCreateDate);
        playoneEndTime = simepleDateFormat.format(fdUpdateDate);
        playtwoStartTime = simepleDateFormat.format(playtwoStartTime1);
        playtwoEndTime = simepleDateFormat.format(playtwoEndTime1);
        Map<String,Object> map = new HashMap<String,Object>(20);
        map.put("playoneStartTime", playoneStartTime);
        map.put("playoneEndTime", playoneEndTime);
        map.put("playtwoStartTime", playtwoStartTime);
        map.put("playtwoEndTime", playtwoEndTime);
        result.setData(map);
        result.setCode(200);
        result.setDesc("查询时间成功");
        return result;
    }
==================================================-----------至于sql就简单了

select fd_playone_StartTime,fd_playone_EndTime,fd_playtwo_StartTime,fd_playtwo_EndTime from tb_activity

一条查询哈哈,相信谁都会了,很苦逼也很逗比的做法啊,可怜的初级开发

=======================================好了下面上一下mysql 的日期格式化查询sql

SELECT
    date_format( fd_playone_StartTime, '%Y-%m-%d-%H-%i' ) AS fdPlayoneStartTime,
    date_format( fd_playone_EndTime, '%Y-%m-%d-%H-%i' ) AS fdPlayoneEndTime,
    date_format( fd_playtwo_StartTime, '%Y-%m-%d-%H-%i' ) AS fdPlaytwoStartTime,
    date_format( fd_playtwo_EndTime, '%Y-%m-%d-%H-%i' ) AS fdPlaytwoEndTime 
FROM
    tb_activity

=================================一下是查询的结果图

===============================================下面再附上时间格式化的%Y-%m-%d-%H-%i 格式解释

 %S, %s 两位数字形式的秒( 00,01, . . ., 59)

  %i 两位数字形式的分( 00,01, . . ., 59)

  %H 两位数字形式的小时,24 小时(00,01, . . ., 23)

  %h, %I 两位数字形式的小时,12 小时(01,02, . . ., 12)

  %k 数字形式的小时,24 小时(0,1, . . ., 23)

  %l 数字形式的小时,12 小时(1, 2, . . ., 12)

  %T 24 小时的时间形式(h h : m m : s s)

  %r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM)

  %p AM 或P M

  %W 一周中每一天的名称( S u n d a y, Monday, . . ., Saturday)

  %a 一周中每一天名称的缩写( Sun, Mon, . . ., Sat)

  %d 两位数字表示月中的天数( 00, 01, . . ., 31)

  %e 数字形式表示月中的天数( 1, 2, . . ., 31)

 %D 英文后缀表示月中的天数( 1st, 2nd, 3rd, . . .)

  %w 以数字形式表示周中的天数( 0 = S u n d a y, 1=Monday, . . ., 6=Saturday)

  %j 以三位数字表示年中的天数( 001, 002, . . ., 366)

  % U 周(0, 1, 52),其中Sunday 为周中的第一天

  %u 周(0, 1, 52),其中Monday 为周中的第一天

  %M 月名(J a n u a r y, February, . . ., December)

  %b 缩写的月名( J a n u a r y, February, . . ., December)

  %m 两位数字表示的月份( 01, 02, . . ., 12)

  %c 数字表示的月份( 1, 2, . . ., 12)

  %Y 四位数字表示的年份

  %y 两位数字表示的年份

  %% 直接值“%”

这里就结束了,希望能对诸位大佬有帮助,这也是我从初级慢慢成长到中级,高级,甚至未来的全站架构师的一个积累,可能写的不是很好,但是还是由衷的希望能给诸位帮助,,,给各位大佬鞠躬

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值