Javascript 引导日期选择器:如何使用特定时区?

Javascript 引导日期选择器:如何使用特定时区?,javascript,jquery,momentjs,bootstrap-datepicker,Javascript,Jquery,Momentjs,Bootstrap Datepicker,我创建了一个小程序来选择日期,并将其写入MySQL 关键在于,无论用户现在在哪里,该日期必须是欧洲/柏林的本地日期 $(....).datepicker({ startDate: 'today' }); 我的问题是:在不使用服务器端代码(PHP)或任何其他库的情况下,如何将startDate设置为特定时区的本地 我尝试使用时刻+时刻时区,但它也显示本地浏览器日期 var todaysDate = moment().tz('Europe/Berlin').format(); $(...).dat

我创建了一个小程序来选择日期,并将其写入MySQL

关键在于,无论用户现在在哪里,该日期必须是
欧洲/柏林的本地日期

$(....).datepicker({ startDate: 'today' });
我的问题是:在不使用服务器端代码(PHP)或任何其他库的情况下,如何将
startDate
设置为特定时区的本地

我尝试使用
时刻
+
时刻时区
,但它也显示本地浏览器日期

var todaysDate = moment().tz('Europe/Berlin').format();
$(...).datepicker({ startDate: todaysDate });

谢谢。

日期对象将始终位于本地时区(基于浏览器)

dateObj.getTime()
将为您提供绝对毫秒

是时区转换的绝佳库

编辑

关于如何:

 var newYork    = moment.tz("2014-06-01 12:00", "America/New_York");
 var losAngeles = newYork.clone().tz("America/Los_Angeles");
 var london     = newYork.clone().tz("Europe/London");

 newYork.format();    // 2014-06-01T12:00:00-04:00
 losAngeles.format(); // 2014-06-01T09:00:00-07:00
 london.format();     // 2014-06-01T17:00:00+01:00

默认情况下,力矩以本地时间解析和显示

这是他们网站上的准确代码。如果你没有通过《美国/纽约》
,而只是简单地通过《时刻》(“2014-06-01 12:00”),就会得到当地时间

moment().utcOffset()
函数将为您获取utcOffset,如果您想知道解释哪个时区的瞬间

请参见

中的演示,也许类似的内容可以帮您找到正确的方向

HTML

只是需要

moment.tz.setDefault(“欧洲/柏林”)

在此之后,不使用
tz()
生成正确的日期。还要确保格式匹配

var todaysDate = moment().format('D MMM YYYY');
$(...).datepicker({ format: 'dd M yyyy', startDate: todaysDate });

我尝试使用矩+矩时区,但它也显示本地浏览器日期。我得到以下错误。未捕获类型错误:无法识别选项startDate!他不知道时间格式的“ii”是什么意思——还有,为什么要将它乘以60k?@Lightning3插件使用的格式是:
getTimezoneOffset()
以分钟为单位返回偏移量,
getTime()
以毫秒为单位返回当前时间。所以这只是从分钟到毫秒的转换。
var options = {
    format: 'mm/dd/yyyy hh:ii',
    autoclose: true
};

$('.date-time-picker').datetimepicker(options).on("changeDate", function (e) {
    var TimeZoned = new Date(e.date.setTime(e.date.getTime() + 
                            (e.date.getTimezoneOffset() * 60000)));
    $(this).datetimepicker('setDate', TimeZoned);
});
var todaysDate = moment().format('D MMM YYYY');
$(...).datepicker({ format: 'dd M yyyy', startDate: todaysDate });