草庐IT

date-math

全部标签

javascript - Javascript Math.Round 与 C# Math.Round 有多接近?

我从阅读中知道thisStackoverflowquestion编译器将查看您的数字,确定中点是偶数还是奇数,然后返回偶数。示例数字是2.5,四舍五入为3。我尝试了自己的小实验以查看会发生什么,但我还没有找到任何关于此的规范,或者即使它在浏览器之间是一致的。这是一个使用jQuery进行显示的JavaScript片段示例:$(document).ready(function(){$("#answer").html(showRounding());});functionshowRounding(){varanswer=Math.round(2.5);returnanswer;}这将返回“3

javascript - 为什么 Math.pow(1, Infinity) 返回 NaN?

我一直认为1的任何次方都等于1,但是Math.pow(1,Infinity)返回NaN。为什么不是1? 最佳答案 这更像是一个数学问题而不是Javascript问题,因此您使用数学解释,例如以下(http://mathforum.org/library/drmath/view/53372.html):Whenyouhavesomethinglike"infinity,"youhavetorealizethatit'snotanumber.Usuallywhatyoumeanissomekindoflimitingprocess.So

javascript - 为什么表达式 new Date().getTime() 中的运算符严格按照从左到右的顺序应用?

以下表达式似乎按预期工作并返回当前时间戳。newDate().getTime()但是我不明白为什么运算符在这里严格按照从左到右的顺序应用。MDN表示成员(.)运算符的优先级高于new。这意味着.必须在new之前应用。所以表达式应该被评估为:new(Date().getTime())但实际上是这样评价的:(newDate()).getTime()我想一定是我忽略了什么,但我不明白是什么。注意:我实际上并没有使用这个表达式(我更喜欢Date.now()方法)。这只是我的好奇心。 最佳答案 MDN优先级表并不完全正确;new运算符和属性访

javascript - 如何在 PostgreSQL 中保存 JS Date.now()?

我尝试使用PostgreSQLtimestamp数据类型,但它抛出错误ERROR:date/timefieldvalueoutofrange:"1489849402536"架构createtabletimes(timetimestampnotnull,);JS代码`insertintotimes(time)values(${Date.now()})`附言另一种选择是使用bigint但这似乎有点矫枉过正。 最佳答案 使用to_timestamp()postgresfunction:`insertintotimes(time)value

javascript - new(Date) 和 new Date() 有什么区别?

在javascript中,新建一个对象的典型方法是这样做:newDate()。但您也可以这样做:new(Date)。后一种方式的区别和优势是什么? 最佳答案 没有区别。new运算符采用函数引用。与任何其他运算符一样,操作数可以有括号。没有参数的new表达式后的()是可选的。但是,如果括号内有更复杂的表达式,它们可以更改优先顺序,例如thisanswer. 关于javascript-new(Date)和newDate()有什么区别?,我们在StackOverflow上找到一个类似的问题:

javascript - 为什么我们不能在没有 new 运算符的情况下调用 Date() 类的方法

这个问题在这里已经有了答案:DifferencebetweenDate(dateString)andnewDate(dateString)(10个答案)关闭8年前。假设我这样定义一个变量vartoday=Date();console.log(today.getMonth());//ThrowError而像Error类这样的其他类在没有new运算符的情况下调用它们的方法。functionfactorial(x){if(x包装器对象(数字、bool值、字符串)也可以在没有new运算符的情况下调用它们的方法。那么,这是唯一一个在调用它们的方法之前需要new运算符或任何对象创建技术的类吗。编辑

javascript - 为什么 Math.max(...[]) 在 ES2015 中等于 -Infinity?

Math.max([])将是0而[..[]]是[]但为什么Math.max(...[])在ES2015中等于-Infinity? 最佳答案 Math.max([])发生的事情是[]首先转换为字符串,然后转换为数字。它实际上不被视为参数数组。使用Math.max(...[])时,数组被视为通过展开运算符的参数集合。由于数组为空,这与不带参数调用相同。哪个根据docs产生-InfinityIfnoargumentsaregiven,theresultis-Infinity.一些示例显示调用数组的区别:console.log(+[]);/

javascript - node.js 时区独立 Date.now()

在node.js中跨服务器和客户端同步时间戳的常用方法是什么,而不依赖于时区?例如,将在服务器和客户端上提供相同时间的Date.now()等价物。最好没有任何node.js模块或客户端库。 最佳答案 JavaScript时间戳始终基于UTC:TimeismeasuredinECMAScriptinmillisecondssince01January,1970UTC.来自不同时区的日期字符串可以具有相同的时间戳。vara="2013-08-2612:00GMT-0800";varb="2013-08-2700:00GMT+0400";

javascript - Date.parse() 和 .getTime() 之间的区别

之间的主要区别是什么:dt=newDate();ms=Date.parse(dt);和dt=newDate();ms=dt.getTime();它们具有相同的输出,但有什么区别?我应该使用哪一个? 最佳答案 第一个版本将Date转换为字符串并对其进行解析,这是一件毫无意义的事情-我怀疑在某些情况下可能会丢失信息。(想象一下在DST转换期间,当时钟倒退时-相同的本地时间在那个小时出现两次,我不知道字符串表示是否会区分两次出现。)在我看来,第二个要干净得多。一般来说,您应该避免在不需要时进行字符串转换-它们通常会导致问题,并且您尝试做的

javascript - 为什么 Date 接受负值?

根据MDN“日期对象基于一个时间值,该时间值是自1970年1月1日UTC以来的毫秒数。”那为什么它接受负值呢?即使负值不应该是1970年1月1日之前的平均值吗?newDate('0000','00','-1');//"1899-12-30T05:00:00.000Z"newDate('0000','00','00');//"1899-12-31T05:00:00.000Z"newDate('-9999','99','99');//"-009991-07-08T04:00:00.000Z"发生了什么事?更新对于一些正值,年份从1900年开始newDate(100);//"1970-01-