gpt4 book ai didi

javascript - Momentjs 在分钟操作后返回错误的日期

转载 作者:行者123 更新时间:2023-11-29 21:37:08 24 4
gpt4 key购买 nike

在我的 php 应用程序中,我这样设置意大利时区:

date_default_timezone_set('Europe/Rome');

上面的字符串位于我的 config.php 文件中,该文件是应用程序的核心。无论如何,从后端我使用 momentjsCodeIgniter 框架。当用户从正确输入的设置中选择一个日期时,结果如下:

enter image description here

现在我从这样的输入中获取值:

var end_date_temp = Date.parse($('#end-datetime').val());

而且最初的结果是错误的:

Tue Mar 01 2016 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);

最佳答案

// parse the input string to a moment object, **specifying the input format**
var end_date = moment($('#end-datetime').val(), 'DD/MM/YYYY HH:mm');

// manipulate it as desired
end_date.add(serviceDuration, 'minutes');

// format it to the specified output format, and assign the result back to your field
$('#end-datetime').val(end_date.format('DD/MM/YYYY HH:mm'));

如果愿意,您可以在一行代码中完成此操作。

$('#end-datetime').val(moment($('#end-datetime').val(), 'DD/MM/YYYY HH:mm').add(serviceDuration, 'minutes').format('DD/MM/YYYY HH:mm'));

语言环境设置对于这段代码并不重要,因为您不使用任何特定于语言环境的函数或格式说明符

关于javascript - Momentjs 在分钟操作后返回错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34575111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com