1.首先给出获取当前时间的方法
function dateToString(){
var now=new Date(); var year = now.getFullYear(); var month =(now.getMonth() + 1).toString(); var day = (now.getDate()).toString(); var hour = (now.getHours()).toString(); var minute = (now.getMinutes()).toString(); var second = (now.getSeconds()).toString(); if (month.length == 1) { month = "0" + month; } if (day.length == 1) { day = "0" + day; } if (hour.length == 1) { hour = "0" + hour; } if (minute.length == 1) { minute = "0" + minute; } if (second.length == 1) { second = "0" + second; } var dateTime = year + "-" + month + "-" + day +" "+ hour +":"+minute+":"+second; return dateTime; }
返回当前时间字符串:dateTime = "2018-10-12 10:40:57"
获取一定偏移量的时间
偏移量是毫秒ms,转化成你要偏移的量的单位即可
以下假设以天为单位获取30天之前的的时间
function dateToString(){
var now=new Date( new Date() - 1000 * 60 * 60 * 24 * 30);//最后一个30就是偏移量30天 var year = now.getFullYear(); var month =(now.getMonth() + 1).toString(); var day = (now.getDate()).toString(); var hour = (now.getHours()).toString(); var minute = (now.getMinutes()).toString(); var second = (now.getSeconds()).toString(); if (month.length == 1) { month = "0" + month; } if (day.length == 1) { day = "0" + day; } if (hour.length == 1) { hour = "0" + hour; } if (minute.length == 1) { minute = "0" + minute; } if (second.length == 1) { second = "0" + second; } var dateTime = year + "-" + month + "-" + day +" "+ hour +":"+minute+":"+second; return dateTime; }
结果:
new Date()
dateTime = "2018-10-12 10:40:57"
30天之前:
dateTime = "2018-09-12 10:40:57"
java获取当前时间和偏移量
public static void main(String args[]){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date today = new Date(); String endDate = sdf.format(today);//当前日期 System.out.println(endDate); //获取三十天前日期 Calendar theCa = Calendar.getInstance(); theCa.setTime(today); theCa.add(theCa.DATE, -30);//最后一个数字30可改,30天的意思 Date start = theCa.getTime(); String startDate = sdf.format(start);//三十天之前日期 System.out.println(startDate); }
输出:
2018-10-12
2018-09-12
Process finished with exit code 0
