我需要获取当前的当地时区如何获得?
我用过
moment.tz.guess(); // It gives "Asia/Calcutta"
但我需要India Standard Time
答案 0 :(得分:0)
使用moment.tz.guess();
,您只能获得zone name
,但您正在寻找abbreviation
timezone
。
为此您需要使用zoneAbbr()并在您自己创建的 abbrs 对象中找到它,因为时刻时区不提供以下官方文档中所述:
文档中的Moment.js还为长格式时区名称提供了一个钩子。 因为这些字符串通常是本地化的,所以时刻时区确实如此 不为区域提供任何长名称。
Check here了解更多信息。
以下是工作代码段,以便更好地理解:
var zoneName = moment.tz.guess();
console.log(zoneName); // zone name
var timeZoneAbbreviation = moment.tz(zoneName).zoneAbbr()
console.log(timeZoneAbbreviation); // zone abbreviation
var abbrs = {
EST: 'Eastern Standard Time',
EDT: 'Eastern Daylight Time',
CST: 'Central Standard Time',
CDT: 'Central Daylight Time',
MST: 'Mountain Standard Time',
MDT: 'Mountain Daylight Time',
PST: 'Pacific Standard Time',
PDT: 'Pacific Daylight Time',
IST: 'Indian Standard Time',
JST: 'Japan Standard Time'
};
// using pure JavaScript
var val;
Object.keys(abbrs).forEach(function(timeZoneAbbreviation) {
val = abbrs[timeZoneAbbreviation];
});
console.log(val); // your expected result
// using lodash.js library
var getKey = function(obj, value) {
return _.get(obj, value, false);
};
console.log(getKey(abbrs, timeZoneAbbreviation)); // your expected result
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.11/moment-timezone-with-data.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
答案 1 :(得分:0)
Dim conn as new ADODB.Connection()
' Set properties of connection string manually
conn.ConnectionString = "DRIVER = SOTAMAS90; UID=" & myInvestor.username & "; PWD=" & myInvestor.password & "; Company=ABC"
conn.Open()
&#13;
var abbrs = {
EST : 'Eastern Standard Time',
EDT : 'Eastern Daylight Time',
CST : 'Central Standard Time',
CDT : 'Central Daylight Time',
MST : 'Mountain Standard Time',
MDT : 'Mountain Daylight Time',
PST : 'Pacific Standard Time',
PDT : 'Pacific Daylight Time',
IST : 'Indian Standard Time'
};
moment.fn.zoneName = function () {
var abbr = this.zoneAbbr();
return abbrs[abbr] || abbr;
};
var zone_name = moment.tz.guess();
var timezone = moment.tz(zone_name).zoneName()
console.log(timezone);
&#13;
您需要为缩写定义所有全名。要获得更多格式,请检查doc。
答案 2 :(得分:0)
如果您想获得印度的当前日期和时间,请使用这些方法。
moment.tz(DATE, ZONE-NAME).format(FORMAT)
var indiaTime = moment.tz(moment(), 'Asia/Calcutta').format("YYYY-MM-DD HH:mm:ss");
console.log(indiaTime)
选中此pen
moment.fn.getZoneName = function() {
var abbr = this.zoneAbbr();
var ist = zones.filter(function(z) {
return z['Abbreviation'] === abbr
})
return ist[0]['Name']
};
var zone_name = moment.tz.guess();
var timezone = moment.tz(zone_name).getZoneName();
console.log(timezone);
zones
是所有区域名称和缩写的数组。
选中此pen