mysql - 如何获取两周内特定日期的时间戳

标签 mysql timestamp

我正在努力弄清楚如何将特定时间戳记下的发票设置为 future 两周后的星期五。这是一个示例数据,说明我希望如何将每笔交易设置为在未来两周的星期五支付。我有一些发票也需要在星期四开具。我如何获取本周提出的每张发票的时间戳,将日期设置为两周星期五?还是星期四?

我尝试过将日期设置为两周后的星期五,但出错了,因为它从星期日而不是星期五开始一周

DATE_ADD(timestamp, INTERVAL (25 - WEEKDAY(timestamp)) DAY) AS pd

Timestamp   Due date
2015-01-01  2015-01-22
2015-01-02  2015-01-22
2015-01-03  2015-01-22
2015-01-04  2015-01-22
2015-01-05  2015-01-22
2015-01-06  2015-01-22
2015-01-07  2015-01-22
2015-01-08  2015-01-29
2015-01-09  2015-01-29
2015-01-10  2015-01-29
2015-01-11  2015-01-29
2015-01-12  2015-01-29
2015-01-13  2015-01-29
2015-01-14  2015-01-29

最佳答案

使用

DATE_ADD(DATE_ADD( <<your_date_here>> , INTERVAL 2 WEEK),INTERVAL (6-DAYOFWEEK(<<your_date_here>>)) DAY)

应该可以解决问题(如果你想要的是 your_date + 2 周和下周五)。

如果你想要的是 future 的两个星期五,它应该是:

DATE_ADD(DATE_ADD( <<your_date_here>>,INTERVAL (6-DAYOFWEEK(<<your_date_here>>)) DAY) , INTERVAL 2 WEEK)

这对你有用吗?

稍后编辑:

 SELECT DATE_ADD( DATE_ADD( '<<your date here>>', INTERVAL IF(DAYOFWEEK('<<your date here>>') > 5 ,16 , 14) DAY ), INTERVAL 6 - DAYOFWEEK( DATE_ADD( '<<your date here>>', INTERVAL IF(DAYOFWEEK('<<your date here>>')>5,16,14) DAY )) DAY );

我解释一下:
DATE_ADD( '<< 您的日期在这里>>', INTERVAL IF(DAYOFWEEK('<< 您的日期在这里>>') >5 ,16 , 14) 如果一周中的某一天是从周日到周四,则添加 14 天;如果是周五或周六,则添加 16 天(以便强制进入下周。 现在,您再次添加到达星期五所需的天数。

您原来问题中的示例是错误的: 2015 年 1 月 1 日是星期四,因此添加 14 天(2015 年 1 月 15 日)+ 1,这样就到达星期五(2015 年 1 月 16 日)。 2015 年 1 月 2 日是星期五,但根据您的意愿,您认为星期五是工作周的开始,因此您正在寻找 future 的第三个星期五(2015 年 1 月 23 日)。 2015年1月3日 -> 2015年1月23日 2015年1月4日 -> 2015年1月23日 。 。 。 2015年1月8日 -> 2015年1月23日

2015年1月9日 -> 2015年1月30日 2015年1月10日 -> 2015年1月30日 ... 等等等等。

关于mysql - 如何获取两周内特定日期的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35141649/

相关文章:

mysql - 每个表的 last_update 时间戳?

javascript - 将时间戳添加到 Google Spreadsheet onEdit 脚本中的命名列

mysql - 为什么时间戳字段不能获得默认值?

mysql - 选择所有项目并按条件在相关表中计数

javascript - while 循环使用谷歌图表

python - Pandas 线图(按月),按带有时间戳的 SQL 导出的行业分组

sql - 如何在Hive中记录created_at和updated_at时间戳?

mysql触发器比来自不同表的图表值

php - 在 MySQL 中连接多个表

php - 在不加密的情况下安全地为 api 存储密码