奇怪的日期()是用包含空字节的字符串创建的
Strange Date( )'s created with Strings containing NULL bytes
我知道 JavaScript 不会像 C 或 C++ 那样终止字符串,但我遇到了一个我无法解释的情况。
查看以下代码(在 Node.js v0.10.5 中执行):
> new Date('123')
Fri Jan 01 123 00:00:00 GMT+0100 (CET) // UNIX epoch : -58285702800000
> new Date('123'056')
Fri Jan 01 123 00:00:00 GMT+0100 (CET) // UNIX epoch : -58285702800000
> new Date('123'0456')
Tue Jun 01 123 00:00:00 GMT+0200 (CEST) // UNIX epoch : -58272660000000
> new Date('123'0567')
Thu Jul 01 123 00:00:00 GMT+0200 (CEST) // UNIX epoch : -58270068000000
> new Date('123'0999')
Fri Jan 01 123 00:00:00 GMT+0100 (CET) // UNIX epoch : -58285702800000
> new Date('123'0555')
Sat May 01 123 00:00:00 GMT+0200 (CEST) // UNIX epoch : -58275338400000
> new Date('123'0655')
Sat Jan 01 12355 00:00:00 GMT+0100 (CET) // UNIX epoch : 327718911600000
我不确定这里发生了什么,有人可以向我解释一下吗?
有时,NULL 字节后面的整数似乎定义了日期的月份,但月份并不总是对应于以下数字。
这些是 3 位八进制转义,而不是空字节。所以例如'123'0456'
真的'123%6'
.
相关文章:
- HTML提交表单,同时包含空字段检查和按钮隐藏
- Angular Meteor教程ng包含空
- 奇怪的日期()是用包含空字节的字符串创建的
- 包含空字符串的 HTML 属性不显示 = 运算符
- 检查 javascript 数组是否不仅包含空值
- JSON 是否应包含空值
- 使用 GWT 将双精度 JS 数组(可能包含空条目)集成到 Java 对象的适当方法
- 如何递归地移除包含空数组的嵌套对象
- JSON正在删除包含空值的属性
- 如果行包含空列,则隐藏该行
- 如何检查文件.getElementbyId包含空值或未定义值
- 如何对包含空字符串、NaN、数字和无穷大的数组进行排序
- 正确的方法来防止空字节注入与HTML/Javascript/PHP文本框
- 不要在jQuery's $.param()中包含空字符串或null
- 在包含空值的列上分组Ext JS 4.0.2a网格
- Angularjs:当使用ng-option时,如何在select中包含空选项
- 如何在JSON对象中包含空值作为占位符
- 属性不能包含空字符串
- 递归删除嵌套 json 对象中包含空数组的对象
- JavaScript if以[“”](一个包含空字符串的数组)失败