为什么该方法使用UTC时区(Z
)而不包括本地时间偏移量(+/-HH:SS
)?方法名称中的“ISO”指的是ISO 8601-它允许将“时区指定”表示为其格式的一部分。
换句话说,new Date()
告诉我日期和时间,以及时区偏移量(通过getTimeZoneOffset()
)。但是ToIsoString()
只告诉我一个时区中的日期和时间-它丢弃了New date()
在区域设置中产生的时间信息。
ToIsoString()
也包括始发时区与UTC的偏移量不是很有意义吗?ToIsoString()
省略+/-hh:ss会丢失关于原始date
的信息(如果它用于序列化的话)。
我的所有AJAX调用(Angular、jQuery)都通过ToIsoString()
序列化,因此在将序列化日期传递到服务器时丢失了该日期的本地时间。有什么方法可以让JavaScriptdate
输出一个包含偏移量的iso格式字符串(除了使用moment.js这样的库之外),或者我需要编写自己的方法吗?
这是“因为语言规范是这么说的”答案之一(参见ECMA-262§20.3.4.36)。ISO 8601是一种格式,虽然它允许使用时区数据,但ECMAScript仅使用UTC。如果您愿意,可以使用自己的toLocalISOString方法扩展Date.Prototype。顺便说一句,编写这样的方法并不难。
// Format date as ISO 8601 long format with local timezone offset
if (!Date.prototype.toLocalISOString) {
Date.prototype.toLocalISOString = function() {
// Helper for padding
function pad(n, len) {
return ('000' + n).slice(-len);
}
// If not called on a Date instance, or timevalue is NaN, return undefined
if (isNaN(this) || Object.prototype.toString.call(this) != '[object Date]') return;
// Otherwise, return an ISO format string with the current system timezone offset
var d = this;
var os = d.getTimezoneOffset();
var sign = (os > 0? '-' : '+');
os = Math.abs(os);
return pad(d.getFullYear(), 4) + '-' +
pad(d.getMonth() + 1, 2) + '-' +
pad(d.getDate(), 2) +
'T' +
pad(d.getHours(), 2) + ':' +
pad(d.getMinutes(), 2) + ':' +
pad(d.getSeconds(), 2) + '.' +
pad(d.getMilliseconds(), 3) +
// Note sign of ECMASCript offsets are opposite to ISO 8601
sign +
pad(os/60 | 0, 2) + ':' +
pad(os%60, 2);
}
}
document.write(new Date().toLocalISOString())
我有一个Kafka消费者,我从它消费数据从一个特定的主题,我看到下面的例外。我使用的是Kafka版本。 我添加了这两个额外的消费者属性,但仍然没有帮助: 那个错误意味着什么?我该如何解决它?我需要添加一些其他消费者属性吗?
null 我注意到前面也有人问过类似的问题。但没有什么能结束这个问题。我在这里提到这些链接 Kafka-节点突然从偏移量0消耗 Kafka Consumer:从一开始就开始读取分区,即使有提交的偏移量 Kafka崩溃后,偏移量丢失 Kafka分区和偏移量消失
问题内容: 是否可以跳过X个第一行,并在一个查询中选择所有其他行?像那样: 它将选择:pqr,stu,vwx,yz 我尝试使用LIMIT和OFFSET完成此操作,但是问题是表是动态的,而且我不知道应该输入哪个LIMIT(我不知道表中有多少行)。 问题答案: 如果只需要最后N行,请尝试以下操作: 这会根据的顺序为您提供最后几条记录。 您可以使用自动递增的主键(希望有一个主键)来确定行的顺序(如果无法
我正在尝试将Twitter日期时间转换为本地ISO字符串(用于prettyDate),现在为2天。我只是没弄准当地时间.. im使用以下功能: 在newdate中,一切正常,但toISOString()将它再次返回到原始时间。有谁能帮我从Twitterdate格式为:Thu,31 May 2012 08:33:41+0000的iso中获取当地时间吗
我有一个关于Kafka自动提交机制的问题。我正在使用启用自动提交的Spring-Kafka。作为一个实验,我在系统空闲(主题中没有新消息,没有正在处理的消息)的情况下,将我的消费者与Kafka的连接断开了30秒。重新连接后,我收到了如下几条消息: 第一,我不明白有什么好犯的?系统空闲(所有以前的消息都已提交)。第二,断开时间为30秒,比max.poll.interval.ms的5分钟(300000
为什么实际主题中的偏移值与同一主题中的偏移值不同?PFB偏移位置以及使用的命令。 我错过了什么?