【发布时间】:2016-01-03 09:35:53
【问题描述】:
在我的 php 应用程序中,我这样设置意大利时区:
date_default_timezone_set('Europe/Rome');
上面的字符串位于我的config.php 文件中,这是应用程序的核心。无论如何,从后端我使用momentjs 和CodeIgniter 框架。当用户从正确的输入中选择日期时,设置此结果:
现在我从这个输入中得到值,如下所示:
var end_date_temp = Date.parse($('#end-datetime').val());
而且最初的结果是错误的:
2016 年 3 月 1 日星期二 11:03:00 GMT+0100 (ora solare Europa occidentale)
剩下的代码是:
var end_date = moment(end_date_temp).add(serviceDuration, 'minutes').format('DD/MM/YYYY HH:mm');
$('#end-datetime').val(end_date);
注意:我也尝试设置moment.locale('it'),但出现了相同的结果,在我的 javascript 库中,我使用了 momentjs 的意大利时区。怎么了?
更新代码:
var end_date_temp = moment($('#end-datetime').val())._i;
var end_date = moment(moment(end_date_temp).add(serviceDuration, 'minutes')).format('DD/MM/YYYY HH:mm');
$('#end-datetime').val(end_date);
【问题讨论】:
-
不要不要使用
_i字段,也不要使用任何其他带有_前缀的字段。它们不适合外部消费。
标签: javascript php codeigniter date momentjs