Oracle实现使用时间函数实现输出“上午好/下午好”

Oracle实现使用时间函数查询出‘“上午好/下午好”

参考文章:
Oracle日期相关参考文章:http://blog.sina.com.cn/s/blog_6168ee920100l2ye.html

描述:

最近在进行报表开发的时候,碰见一个需求,困扰了很久:用户需要定制一个欢迎页,当用户上午登录时,页面提示“xxx,上午好!”,当用户下午登录时,提示“xxx,下午好!”,看似简单的需求,在报表开发中却不容易实现。下面给大家整理一下要实现这种效果的各种方法。

实现方式1:直接使用Oracle的日期函数实现:

知识点1(两个内置日期函数):
–可以获取上午下午的方式1
–返回单位为毫秒的当前UTC时间(GMT+0)的时间戳。

select current_timestamp from dual;

返回日期格式:10-8月 -19 08.52.54.488652 下午 +08:00

–可以获取上午下午的方式2
–返回会话中的日期和时间,没有参数,没有括号

select localtimestamp from dual;

返回如期格式:10-8月 -19 08.53.23.875886 下午

知识点2(substr函数截取):
substr截取:
平时使用比较多,不过多介绍:
用法:select substr(字符串,起始位置,截取位数) from dual;
注意:如果要从后面往前面截取的话,将起始位置的数值换成负数就行;

所以最终实现的语句如下:

函数1:
select substr(current_timestamp,-9,2) from dual;

函数2:
select substr(localtimestamp,-2,2) from dual;

实现方式2:使用html实现“上午好/下午好/晚上好”

直接上代买:

js判断早上好,上午好,下午好,傍晚好,晚上好
          <body> 
                     <script language="javaScript"> 
                                    now = new Date(),hour = now.getHours() 
                                    if(hour < 6){document.write("凌晨好!")} 
                                    else if (hour < 9){document.write("早上好!")} 
                                    else if (hour < 12){document.write("上午好!")} 
                                    else if (hour < 14){document.write("中午好!")} 
                                    else if (hour < 17){document.write("下午好!")} 
                                    else if (hour < 19){document.write("傍晚好!")} 
                                    else if (hour < 22){document.write("晚上好!")} 
                                    else {document.write("夜里好!")} 
                      </script> 
         </body> 

实现方式3:使用js实现“上午好/下午好/晚上好”

妆发:https://blog.csdn.net/weixin_37865166/article/details/89477683

代码如下:

let getTimeState = () => {
    // 获取当前时间
    let timeNow = new Date();
    // 获取当前小时
    let hours = timeNow.getHours();
    // 设置默认文字
    let text = ``;
    // 判断当前时间段
    if (hours >= 0 && hours <= 10) {
        text = `早上好`;
    } else if (hours > 10 && hours <= 14) {
        text = `中午好`;
    } else if (hours > 14 && hours <= 18) {
        text = `下午好`;
    } else if (hours > 18 && hours <= 24) {
        text = `晚上好`;
    }
    console.log(`hours >>>>>`, hours);
    console.log(`text >>>>`, text);
    // 返回当前时间段对应的状态
    return text;
};

需要的时候使用即可

let textState=getTimeState()

总结:

在日常的开发过程中,一些需求可以通过各种方式实现,选择自己熟悉的或者适合你开发场景的就行,比如说报表开发过程中,使用sql语句能够实现的东西,就最好不过了。所以这个需求,我使用了第一个方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值