跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 前端使用 element 的周选择器,是基于 momentJS 的,但是时间与 Java 计算的却不一样
未分類
19 9 月 2020

前端使用 element 的周选择器,是基于 momentJS 的,但是时间与 Java 计算的却不一样

前端使用 element 的周选择器,是基于 momentJS 的,但是时间与 Java 计算的却不一样

資深大佬 : jiangnan01 3

RT,现在的需求是要做一个报表提醒功能,用户设置一个报表有效期限例如 2020 年第 1 周到 2021 年第 52 周,并且每周三提醒当前周的报表。但是 java 在执行的时候需要知道当天属于当年的第几周,使用 Calendar 类转换的时候与前端周选择器控件输出的不一一致,尤其是跨年的时候,前端计算出来的可能是当年有 53 周,java 计算可能只有 52 周。所以想知道大家是怎么解决这类周期转换问题的

大佬有話說 (10)

  • 資深大佬 : ITsWHY

    日期格式的问题我们是前端做的

  • 資深大佬 : easonHHH

    一般的 API 都支持配置从索引 0 开始或者从 1 开始(没有自己封装一层也行),又或者是周一 /周日作为周开始的吧,如果这些配置都统一的情况下,计算出来就是一样

  • 資深大佬 : Torpedo

    我记得是部分浏览器上,java 的 utc 时间解析和 js 不一样。
    用 unix 时间戳就没事

  • 主 資深大佬 : jiangnan01

    @ITsWHY 在报表配置的时候遇到这个问题,我们也是这样做的,我前端给 java 把日期区间额外转换一份对应的第 N 周-第 n 周的数据,现在因为这个报表提醒是 java 后台自己跑的定时任务,需要 java 获取当前的时间然转换成当前属于第几周,这个时候跟前端转换的可能不一样

  • 主 資深大佬 : jiangnan01

    @Torpedo 是在 chrome 运行的

  • 主 資深大佬 : jiangnan01

    @easonHHH 请问 JAVA 是怎么设置这个周几作为一周开始的呢?我只知道前端可以使用 momentJS 设置语言然后设置周几作为一周开始,甚至一年的第一周以几月几日开始

  • 資深大佬 : easonHHH

    @jiangnan01 #6 Java 不熟,但是看了一眼 API 文档里面应该是有的
    https://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html
    setFirstDayOfWeek(int value)
    Sets what the first day of the week is; e.g., SUNDAY in the U.S., MONDAY in France.

  • 主 資深大佬 : jiangnan01

    @easonHHH 谢谢,找到了,再加上 setMinimalDaysInFirstWeek 这个方法可以和前端对应上了

  • 資深大佬 : Justin13

    isoweek 和 us week 的区别,方法就是前后端用同一套规则

  • 資深大佬 : renmu123

    都用符合 iso 规范的库吧

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具