添加 30 天的日期

添加 30 天的日期

使用bashmysql,我该如何添加30用户expiry表中的天数?

示例我有这样的数据库名称USERS和表:expiry

USERNAME   EXPIRATION
JOHN       2015-09-26

我希望该命令采用EXPIRATION指定列中的任何值USERNAME并添加30几天

所以结果是:

USERNAME   EXPIRATION
JOHN       2015-10-26

答案1

使用 GNU date

$ date -d '2015-09-26 +30 days' '+%Y-%m-%d'
2015-10-26

答案2

下面是一个月后以 ISO-8601 格式输出日期的示例:

date -I -d '+1 month'

答案3

如果您使用的是 BSD(或其他使用 BSD POSIX 的系统,如 macOS),您仍然可以date像这样使用:

$ date -v+30d -jnf %Y-%m-%d "2015-09-26" +%Y-%m-%d

答案4

在语句中使用 MySQL 的date_add()函数UPDATE,更新JOHN.这个会更新表中的数据。

UPDATE TABLE USERS
SET EXPIRATION = date_add(EXPIRATION, INTERVAL 30 DAY)
WHERE USERNAME = "JOHN"

只需选择数据并递增它以用于显示目的,

SELECT USERNAME, date_add(EXPIRATION, INTERVAL 30 DAY) AS "EXPIRATION" FROM USERS
WHERE USERNAME = "JOHN"

相关内容