使用moment.js (带有moment- timezone ),我想获取当前语言环境的时区缩写(例如PST)。
var now = Date.now(); // 1423254073931
var zone = moment(now).zone(); // 480
var timezone =
如何获取时区缩写?我在文档和其他地方看到的所有示例都选择了一个特定的区域,如"America/New_York"。
从文档中看,我似乎可以使用zone.abbr(timestamp)从中获取信息,但我不确定如何访问区域对象。
由于我们存储日期的方式,我需要将timezone设置为时区+0000。
我试过用多种方法:
var d = moment().hour(0).minute(0).second(0).millisecond(0).zone('+0000');
var d = moment().hour(0).minute(0).second(0).millisecond(0).utc(0);
var d = moment().hour(0).minute(0).second(0).millisecond(0).utc();
当我console.log这些日期,他们出来的时间,00:00:00 G
使用标准JS库(ECMA5),在不使用动量或外部库的情况下,如何计算给定“欧洲/罗马”或“美国/洛杉矶”这样的TimeZone字符串的UTC偏移量?
UTC偏移量可能取决于它是否是DST,因此,如果解决方案需要将本地客户端日期转换为指定的Timezone字符串,这将是有意义的。我们的目标只是想知道UTC的偏移量。
function getUtcOffset(timezone) {
// return int value.
// > 0 if +GMT
// < 0 if -GMT.
}
下面的代码可以将时间戳转换为文本格式。
export default function convertTime(time) {
let date = new Date(time);
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
let hours = date.getHours();
let minutes = "0" + date.getMinutes();
return day +
我遇到了一个奇怪的问题,unix时间戳和转换后的结果之间存在差异。
下面是一个示例:
$timestamp = 1489132800;
echo date('l jS \of F Y h:i:s A', $timestamp);
// echo statement = Friday 10th of March 2017 03:00:00 AM
// on unixtimestamp.com this equates to 03/10/2017 @ 8:00am (UTC)
有人知道为什么会有5个小时的差异吗?日期函数是否依赖于某些内部时间设置?
let timeZone = NSTimeZone.system.description
let localTimeZone = TimeZone.ReferenceType.local.description
let currentTimeZone = TimeZone.current.description
let defaultTimeZone = TimeZone.ReferenceType.default.description
let autoUpdateTimezon = TimeZone.autoupdatingCurrent.description
print ("
我正在编写一个简单的javascript来计算服务器和用户时间之间的时间差。但有些地方出了问题。
如果我捕捉到javascript和php的日期,我有:
date("M d Y h:i:s A")
php date : Wed Jun 27 2012 04:10:41 AM
new Date()
J S date : Wed Jun 27 2012 10:10:40 GMT+0200 (CEST)
这是正确的!对于本地和服务器时间,我有两个不同的时间。
如果我花几秒钟时间..。出了点问题:
(php: date("U"))
sec PHP: 1340
我正在开发一个社交媒体应用程序,我希望用户A能够在用户B发布到用户A时区的那一年中获得所有的月份。前端是在Javascript,最明智的事情是用户发送他们的时区的偏移从UTC (可以用new Date().getTimezoneOffset()在JS,所以如果你在EET (东欧时间),这将返回-120,因为EET是120分钟,比UTC),因为这是什么时区日期是保存在Django。例如,用户A会选择一个类似于/<user B's username>/<user A's time zone offset from UTC>的url。
假设用户B在PST中,并
在firebase功能中,我使用mailgun向用户发送电子邮件,在moment.js中使用当前时间的firebase数据库中的触发器,
if (partnerEmail) {
console.log(`online class email to partner`)
let emailData = {
recipient: partnerEmail,
date: moment(date * 1000).format('MMMM Do YYYY'),
time: moment(new Date()).format(
以下输出的时间比输入的时间少4小时:
X = new Date('2015-07-09T14:18:12.430')
$('body').append(X)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
当我构建一个日期表时,这个ISO字符串" 2016 -02-01T16:00:00Z“我得到了2016年2月1日下午17:00 GMT+0100
由于某些原因,js增加了一个小时。
我觉得这是时区的事..。但我怎么才能解决这个问题?
就这么做
var date = new Date('2016-02-01T16:00:00Z');
alert(date);