检查给定日期是否是该月的最后一天

问题描述 投票:0回答:2

假设我有一个给定日期d

d:2019.02.20

如果f是本月的最后一天fTrue是如何写d这样的函数False,否则是f[d] / Should return 0b f[2019.02.28] / Should return 1b f[2019.01.31] / Should return 1b

例:

https://code.kx.com/q4m3/7_Transforming_Data/#723-casts-that-narrow
q kdb
2个回答
5
投票

您可以使用`mm $ dt或“m”$ dt提取日期的月份部分。见:q)f:{(`mm$x) <> `mm$x+1} q)f[2019.02.28 2020.02.28 2019.03.04 2019.03.31] 1001b

然后只需与您的输入日期+1(将添加一天)进行比较:

q){x=-1+"d"$1+"m"$x}[2019.02.28 2020.02.28 2019.03.04 2019.03.31]                                                                                    
1001b

2
投票

把它投到一个月,加1到下个月,回到一个日期(这将给出一个月的第一天),减去一个并与输入比较:

qazxswpoi
© www.soinside.com 2019 - 2024. All rights reserved.