我必须在特定日期添加6个月的日期.我使用了以下代码
$start_date = "2016-08-30";
$end_date= date( "Y-m-d", strtotime( "$start_date +6 months" ) );
echo $end_date;
Run Code Online (Sandbox Code Playgroud)
结果为2017-03-02
然后我在代码中更改了开始日期,如下所示
$start_date = "2016-09-01";
$end_date= date( "Y-m-d", strtotime( "$start_date +6 months" ) );
echo $end_date;
Run Code Online (Sandbox Code Playgroud)
2017-03-01给出的结果
为什么这首先发生?我的代码有什么问题吗?
使用Mysql查询
SELECT DATE_ADD('2016-08-30', INTERVAL 6 MONTH)
Run Code Online (Sandbox Code Playgroud)
给出结果2017-02-28
哪个是获得正确日期的正确解决方案?
我正在保存订单详细信息,服务器时间是“中部夏令时间”时区作为 Unix 时间戳。所以 order_date 是服务器时间。我需要的是,将其转换为韩国时间。以下是我使用过的查询。
SELECT
`order_date`,
FROM_UNIXTIME(`order_date`),
CONVERT_TZ(FROM_UNIXTIME(order_date), 'US/Central', 'Asia/Seoul')
FROM
my_orders
WHERE order_id="123"
Run Code Online (Sandbox Code Playgroud)
这将为转换后的日期提供空结果。我需要使用 CONVERT_TZ 参数更改什么吗?或者还有其他更好的方法吗?