Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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中从日期中减去10天_Javascript - Fatal编程技术网

如何在Javascript中从日期中减去10天

如何在Javascript中从日期中减去10天,javascript,Javascript,以下是我的解决方案: 谢谢你的建议和帮助。我最终使用了moment.js,现在这个约会状态正按照我的需要工作。下面是我对moment.js所做的操作: var preorderdate = moment(date).subtract('days',10).format('MMMM D, YYYY'); var releasedate = moment(date).format('MMMM D, YYYY'); 我重新命名了一些变量,但你可以看到我取了日期变量,减去10天,并将其格式化为2014

以下是我的解决方案: 谢谢你的建议和帮助。我最终使用了moment.js,现在这个约会状态正按照我的需要工作。下面是我对moment.js所做的操作:

var preorderdate = moment(date).subtract('days',10).format('MMMM D, YYYY');
var releasedate = moment(date).format('MMMM D, YYYY');
我重新命名了一些变量,但你可以看到我取了日期变量,减去10天,并将其格式化为2014年2月12日。我使用了一个单独的变量,并用moment.js对其进行了格式化。这个脚本非常棒。如果没有波蒂的建议,我永远也找不到它。非常感谢大家

我不是JS专家,但我试图从一连串的“2014年2月12日”中减去10天,但没有用。因此,当我运行代码时,我试图让它显示为“2014年2月2日”

function isbnPreOrder (isbn, date) {
    var date = 'February 12, 2014';
    var m_names = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
    var d = new Date();
    var curr_date = d.getDate()-10;
    var curr_month = d.getMonth();
    var curr_year = d.getFullYear();
    var predate = (m_names[curr_month]+" "+curr_date+", "+curr_year);
}
创建一个日期实例:

var date = new Date("2014-02-12");
然后将其时间戳设置回10天:

date.setDate( date.getDate() - 10 );
您不能指望浏览器能够/愿意解析日期格式“2014年2月12日”。如果您在日期格式上没有任何选择,那么您必须自己解析它或使用它。()

创建一个日期实例:

var date = new Date("2014-02-12");
然后将其时间戳设置回10天:

date.setDate( date.getDate() - 10 );
您不能指望浏览器能够/愿意解析日期格式“2014年2月12日”。如果您在日期格式上没有任何选择,那么您必须自己解析它或使用它。()

试试这个:

function isbnPreOrder (isbn, date) {
var date = 'February 12, 2014';
var m_names = new Array("January", "February", "March", "April", "May", "June", "July",   "August", "September", "October", "November", "December");
var d = new Date();
var curr_date = d.setDate(d.getDate()-10);
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
var predate = (m_names[curr_month]+" "+curr_date+", "+curr_year);
试试这个:

function isbnPreOrder (isbn, date) {
var date = 'February 12, 2014';
var m_names = new Array("January", "February", "March", "April", "May", "June", "July",   "August", "September", "October", "November", "December");
var d = new Date();
var curr_date = d.setDate(d.getDate()-10);
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
var predate = (m_names[curr_month]+" "+curr_date+", "+curr_year);

除了一行,一切都好。将
date
变量传递到
date
初始化中

var d = new Date(date);

除了一行,一切都好。将
date
变量传递到
date
初始化中

var d = new Date(date);

我会将您的函数修改为:

function isbnPreOrder (isbn, date) {
    var date = 'February 12, 2014';
    var m_names = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
    var d = new Date();
    var curr_date = d.getDate();
    var curr_month = d.getMonth();
    var curr_year = d.getFullYear();
    var predate = (m_names[curr_month]+" "+curr_date+", "+curr_year);
    var x = 10;
    predate.setDate(predate.getDate() - x);
}

我会将您的函数修改为:

function isbnPreOrder (isbn, date) {
    var date = 'February 12, 2014';
    var m_names = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
    var d = new Date();
    var curr_date = d.getDate();
    var curr_month = d.getMonth();
    var curr_year = d.getFullYear();
    var predate = (m_names[curr_month]+" "+curr_date+", "+curr_year);
    var x = 10;
    predate.setDate(predate.getDate() - x);
}

我刚刚尝试添加以下内容,但它只返回这个值1391797140943:var dateOffset=(24*60*60*1000)*10;var predate=(d.setTime(d.getTime()-dateOffset));我刚刚尝试添加以下内容,但它只返回这个值1391797140943:var dateOffset=(24*60*60*1000)*10;var predate=(d.setTime(d.getTime()-dateOffset));Sad但true、
Date.parse
格式不可靠,momentjs是一个很好的选择虽然Sad但true、
Date.parse
格式不可靠,但momentjs是一个很好的选择