1
celisee 266 天前
昨天就接到通知,统一排查了一遍
这种拼接年份的??? |
2
cc666 266 天前 2
可能是说表单的时间起始和结束范围?选择一年前的数据是 2023-02-29 到 2024-02-29 ,2023-02-29 是个拼接错误?
|
3
exploretheworld OP @celisee 算一年前只减年份
|
4
learnshare 266 天前
new Date('2023-02-29') => '2023/3/1 08:00:00'
自动纠错或者报异常,都是尴尬的 |
5
Hopetree 266 天前 1
这是 Python 的,不会报错,一年前是 2023-02-28
```python from datetime import datetime from dateutil.relativedelta import relativedelta current_date = datetime.now() current_date - relativedelta(years=1) datetime.datetime(2023, 2, 28, 9, 57, 56, 185222) ``` |
6
binaryify 266 天前 4
|
7
chobitssp 266 天前
用 moment 不才算偷懒吗
var date = '2024-02-29'; moment(date).add(-1, 'years').format('YYYY-MM-DD'); date.replace(/^\d{4}/, t => parseInt(t, 10) - 1); date.split('-').map((t, i) => i > 0 ? t : parseInt(t, 10) - 1).join('-'); |
8
hi2hi 266 天前
我自己撸了一个按自然月变更时间的方法,然后每次都是直接增减月数
|
9
sayitagain 266 天前 5
😁问题不大,一个懒可以撑四年,
|
10
NessajCN 266 天前 1
只有不懂啥叫 unix timestamp 的培训班前端才会觉得那样是偷懒
|
11
banmuyutian 266 天前 2
|
12
AllenCai 266 天前
if (date.includes('-29')) {
date= date.replace('-29', '-28') } 修复一下,突出一个死性不改 |
13
AllenCai 266 天前 2
|
14
treblex 266 天前
前几天改了个,自定义写的日期选择器,那哥们儿直接每个月 31 天😂,然后也不写组件,每个页面拷贝一份,找的头都大了
|
15
pkoukk 266 天前
有库还徒手拼?不知道该说懒还是勤快...
|
16
lichao 266 天前
3.1.2 :001 > Time.current.to_date - 1.year
=> Tue, 28 Feb 2023 |
17
74123gzy 266 天前
还好我们全是组件跟库
|
18
yinmin 266 天前 via iPhone
算法供参考:
日期型变量 d ,获取日期 d 对应月份的最后一天 date(d.year,d.month,1).addmonth(1).addday(-1) |
19
lhstock 266 天前 2
没做过相关业务,我怎么感觉这不是单纯的技术问题;应该还要考虑产品或行业规范来实现吧,比如会员一年,按 366 还是 365 算呢;
具体点就是 24.02.29 开通的,应该什么时候过期;客户对于这个时间会不会有争议呢; 同样的问题还有一个月。2.1 开通一个月,那应该什么时候到期呢 确实没写过相关的业务,纯好奇不是杠 |
22
78786381 266 天前
手拼不是更累
|
23
imlinhanchao 266 天前 1
明天就正常了
|
24
rainABC 266 天前
时间问题是一个永恒的问题
|
25
lhstock 266 天前
@NessajCN 我尝试换算 31556926 秒;计算未来几年的结果应该很难被用户接受吧;所以产品与用户对于年的定义是如何保持一致
``` const timer = new Date().getTime(); const test = (n = 0) => new Date(+timer + n * 31556926*1000).toLocaleDateString(); console.log(test(0)) console.log(test(1)) console.log(test(2)) console.log(test(3)) console.log(test(4)) // 输出如下: 2024/2/29 2025/2/28 2026/3/1 2027/3/1 2028/2/29 ``` |
26
xmumiffy 266 天前 4
提工单,安排明天修.明天直接结单,完美.
|
29
kneo 266 天前 via Android
这都能错,我是难以理解。
|
31
NessajCN 266 天前
@lhstock 所以可否再描述一下这到底哪儿不对了?
你是觉得要每年都应该同一天办年会的话,那 29 号根本就不可能被设为年会日,相应的计算方法也不会按一年来加减 |
35
8355 266 天前
这种代码,说真的,自己懒的写写个注释都能自动生成了。。
|
36
vituralfuture 266 天前 via Android
日期,时间这种有标准的东西最好不要自己造轮子或者自己手动完成某些功能,因为非常容易忽略一些细节,比如大部分人都不会考虑的夏令时,润秒,时区。类似的还有 cookie ,http 协议等各种网络协议,又琐碎又容易出错
|
37
nzynzynzy 266 天前
一个环境和一个环境格式都不一样,不知道拼接的意义是啥,new Date()也不费啥事
|
38
zhushishi 266 天前
总有 2b 喜欢这么写。。。
|
39
jeansfish 266 天前
|
40
Yuhyeong 266 天前
/t/1019435 是你吗兄弟
|
41
rongsh 266 天前
之前设置 iphone 专注模式中的工作模式到下午 5 点关闭,然而今天没有关闭。想知道有其他人遇到吗,会不会也是因为闰日这个原因导致的 bug 。
|
42
panbeta 266 天前
好低级的错误。。。每 4 年一个 29 日属于常识了,写日期类逻辑必须用 calendar 处理,字符串拼接的算你们🐂
|
43
Pastsong 266 天前
日期时间这种全是坑的东西还有人不用库的。。
|
44
killuma 266 天前
|
45
oneisall8955 266 天前 via Android
@AllenCai 假如是今天呢?
|
46
JensenQian 266 天前 via Android
|
47
DavidA 266 天前
我甚至没看懂什么问题,谁来告诉我,错误的代码是什么样的?
|
48
Felldeadbird 265 天前
一年前我都是用 365 天来算的。懒得算闰年。
|