找文章 / 找答案
精选问答 更多内容

[大数据] 如何获取去年第40周的周日、周一的日期?

ssg青铜一 显示全部楼层 发表于 2022-9-25 09:11:14 |阅读模式 打印 上一主题 下一主题
1
已解决
为什么是40周:var a=weeknum(today());debug(a)                         当前日期为本年的第40周,需要获取到去年的第a周的日期(开始日期和结束日期,第一天目前默认是永洪设置的周日,还需要将每周第一天设置成周一);
需求如下:1、请问如何获取到去年第a周的日期范围?
                 2、如何将每周的第一天(周日)设置为周一?


最佳答案

社区管理员
yhdata_yzm 关注Ta

2022-09-25 09:11:15

https://www.yonghongtech.com/help/Z-Suite/10.0/ch/datefunction.html?zoom_highlightsub=%E6%97%A5%E6%9C%9F%E5%87%BD%E6%95%B0参考start_of_week
查看完整内容
回复

使用道具 举报

精彩评论5

yhdata_yzm 显示全部楼层 发表于 2022-9-25 09:11:15
ssg 发表于 2022-9-25 21:46
请问永洪如何将每周第一天默认是为周日设置为周一呀

https://www.yonghongtech.com/hel ... F%E5%87%BD%E6%95%B0参考start_of_week
回复

使用道具 举报

yhdata_N2sqFhjv铂金一 显示全部楼层 发表于 2022-9-25 09:36:12
function getYearWeek(dateString){
    var da =dateString;//日期格式2015-12-30
    //当前日期
    var date1 = new Date(da.substring(0,4), parseInt(da.substring(5,7)) - 1, da.substring(8,10));
    //1月1号
    var date2 = new Date(da.substring(0,4), 0, 1);
    //获取1月1号星期(以周一为第一天,0周一~6周日)
    var dateWeekNum=date2.getDay()-1;
    if(dateWeekNum<0){dateWeekNum=6;}
    if(dateWeekNum<4){
        //前移日期
        date2.setDate(date2.getDate()-dateWeekNum);
    }else{
        //后移日期
        date2.setDate(date2.getDate()+7-dateWeekNum);
    }
    var d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000);
    if(d<0){
        var date3 = (date1.getFullYear()-1)+"-12-31";
        return getYearWeek(date3);
    }else{
        //得到年数周数
        var year=date1.getFullYear();
        var week=Math.ceil((d+1 )/ 7);
        return year+"年第"+week+"周";
    }
}
回复

使用道具 举报

ssg青铜一 显示全部楼层 发表于 2022-9-25 21:46:50
请问永洪如何将每周第一天默认是为周日设置为周一呀
回复

使用道具 举报

永洪tech-joey青铜一 显示全部楼层 发表于 2022-9-26 17:29:52
本帖最后由 永洪tech-joey 于 2022-9-29 15:37 编辑

// 去年同周的使用:替换对应的『周筛选』参数即可
// 去年同周中的任意一天:先获取去年1月1号,然后加上对应周数-1
tmp = dateAdd(date(year(param["周筛选"])-1,1,1),"weekofyear",weeknum(param["周筛选"])-1)
// 获取去年同周的第一天
start_day = dateAdd(tmp,"dayofyear",-weekday(tmp)+1)
param["去年同周_开始日期"] = formatDate(start_day,'yyyy-MM-dd')
param["去年同周_结束日期"] = formatDate(dateAdd(start_day,"dayofyear",6),'yyyy-MM-dd')
回复

使用道具 举报

永洪tech-joey青铜一 显示全部楼层 发表于 2022-9-26 17:31:00
ssg 发表于 2022-9-25 21:46
请问永洪如何将每周第一天默认是为周日设置为周一呀

在bi.properties中添加以下配置
monday.first.day.of.week=true
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部