Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提交年份为0001时的coffeescript日期问题_Javascript - Fatal编程技术网

Javascript 提交年份为0001时的coffeescript日期问题

Javascript 提交年份为0001时的coffeescript日期问题,javascript,Javascript,我在提交日期时遇到javascript问题。如果我提交的日期为0001年或0798年,js将其转换为1789年。我如何提交日期为0001年或0789年或我给出的任何年份 在firebug控制台中,您可以尝试查看 Ex:d=新日期 Sun Jan 26 2014 18:35:49 GMT+0530 (IST) d.setFullYear(0001) -62133389650691 d Fri Jan 26 1 18:35:49 GMT+0530 (IST) 请帮帮我 日期的年份不是字符串,而是数

我在提交日期时遇到javascript问题。如果我提交的日期为0001年或0798年,js将其转换为1789年。我如何提交日期为0001年或0789年或我给出的任何年份

在firebug控制台中,您可以尝试查看

Ex:d=新日期

Sun Jan 26 2014 18:35:49 GMT+0530 (IST)
d.setFullYear(0001)
-62133389650691
d
Fri Jan 26 1 18:35:49 GMT+0530 (IST)

请帮帮我

日期的年份不是字符串,而是数字

Date#toString
返回的字符串(奇怪的是)没有被规范指定。它可以是引擎想要的任何东西。一些发动机(如铬合金V8发动机)在一年中的输出量与所需量相同,因此
1
789
2014
12487
。毕竟,年并没有什么特别的地方使它们有四位数长;我们恰好生活在9000年(1000->9999)的时期,在这期间,我们的西历(特别是公历)中的年份有四位数


如果您想要一个特定格式的字符串(除了通过
toISOString
在支持它的引擎上添加的ES5规范的近ISO格式),您必须自己格式化它(或者使用类似或类似的附加库来格式化).

编辑了我的帖子并用javascript标记。我能做些什么呢?这可能有助于了解日期对象及其工作方式。但这里我需要的是日期对象而不是字符串。字符串意味着我能做到。所以没有简单的方法可以做到这一点?@user2986573:请看答案的第一行:年份是数字,而不是字符串。数字正是如此。您给发动机的值是
1
789
。在前面添加零是一种格式化(基于文本,例如字符串)概念。因此,如果您的目标是将
Date
实例的年份设置为
1
789
,那么您已经实现了这一目标。(事实上,年号甚至没有存储在date对象中,它根据所持有的值计算年号,这是一个从1970年1月1日格林威治标准时间午夜开始的毫秒偏移值[1970年以前的年份为负数]。)