2012-07-25 8 views

Respuesta

2

Para cadenas:

curdate.substr(0, 6)+(curdate.substr(6)-1); 

Si desea utilizar una Date object, fácilmente se podría restar un año con el método set[Full]Year.

30

Es necesario utilizar getFullYear()

y luego generar nuevos Fecha

var d = new Date(2012, 7, 25); 
d.setFullYear(d.getFullYear() - 1); 
+0

Para obtener más información, consulte https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/ – Sphvn

+6

+1 (month debe ser 6 para que coincida con el ejemplo) –

+0

Gracias @AlexK., La fecha en el ejemplo es julio (7) .. –

3

Utilice esta:

var date = new Date(); 
var intYear = date.getFullYear() - 1; 
0

Para evitar el objeto Date (si eso es lo que desea OP):

var currDate = '25-07-2012'; 
var dateParts = currDate.split('-'); 
dateParts[2] = parseInt(dateParts[2], 10) - 1; 
alert(dateParts.join('-'));​ 
+1

No funcionará correctamente con el año bisiesto y el 29 de febrero –

2

Datepicker le permite poner un número como la opción minDate, y lo usa como un desplazamiento de la fecha actual. Entonces usted puede escribir:

minDate: -365 

para especificar hace 1 año. Sin embargo, esto no toma años bisiestos en cuenta.

0
var today = new Date(); 
var curyear = today.getFullYear(); 
var curyearMonth = today.getMonth() + 1; 
var curyearDay = today.getDate(); 
var lastYear = curyear - 1; 
if ((curyearMonth == 2) && (curyearDay == 29)) { 
    curyearDay = 28; 
} 

var lastYearDisplay = ("0000" + lastYear.toString()).slice(-4) + "-" + ("00" + curyearMonth.toString()).slice(-2) + "-" + ("00" + curyearDay.toString()).slice(-2); 
alert("LastWeekDate : " + lastYearDisplay); 
-1
var date = CALC.today(); //(function in my dev-enviro - gives today's date) 
var year = formatDate(date, 'yyyy'); //year is 2016 
year = parseInt(year);    //make sure '2016' becomes an integer 
year = year -1;      // var year is now: 2015. 

//its been a while, but that's what I did from memory. 
-1
function getTodayDate() { 
     var today = new Date(); 
     var dd = today.getDate(); 
     var mm = today.getMonth() + 1; //January is not 0! 
     var yyyy = today.getFullYear(); 
     if (dd < 10) { dd = '0' + dd } 
     if (mm < 10) { mm = '0' + mm } 
     today = yyyy + '-' + mm + '-' + dd; 
     return today; 
    }; 
    function getYearAgo(){ 
    var lastYear = new Date(); 
    var dd = lastYear.getDate(); 
    var mm = lastYear.getMonth() + 1; //January is not 0! 
    var yyyy = lastYear.getFullYear(getTodayDate) - 1; 
    if (dd < 10) { dd = '0' + dd } 
    if (mm < 10) { mm = '0' + mm } 
    lastYear = yyyy + '-' + mm + '-' + dd;  
    return lastYear; 
    } 
3

probar este

var d = new Date(); 
var pastYear = d.getFullYear() - 1; 
d.setFullYear(pastYear); 
console.log(d); 
Cuestiones relacionadas