1获取当前月份年份
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
Calendar now = Calendar.getInstance();
System.out.println("Current Year is : " + now.get(Calendar.YEAR));
// month start from 0 to 11
System.out.println("Current Month is : " + (now.get(Calendar.MONTH) + 1));
System.out.println("Current Date is : " + now.get(Calendar.DATE));
}
}
2获取前一天前一月的日期
Calendar calendar = Calendar.getInstance();//此时打印它获取的是系统当前时间
calendar.add(Calendar.DATE, -1); //得到前一天
String yestedayDate = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
calendar.add(Calendar.MONTH, -1); //得到前一个月
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH)+1; //输出前一月的时候要记得加1
3字符串转为日期格式
String date = "2010-02-01 23:59:59";
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
try {
Date d = sf.parse(date);
System.out.println(sf.format(d));
} catch (ParseException e) {
e.printStackTrace();
}
4完整的一个例子
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
public class TestDate{
public static void main(String[] args){
Date now = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//可以方便地修改日期格式
String hehe = dateFormat.format( now );
System.out.println(hehe);
Calendar c = Calendar.getInstance();//可以对每个时间域单独修改
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int date = c.get(Calendar.DATE);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
System.out.println(year + "/" + month + "/" + date + " " +hour +
":" +minute + ":" + second);
}
}
JS中获取当前时间点前一天时间
var date=new Date();
var dat_year=date.getYear();
var dat_month=date.getMonth();
var dat_day=date.getDay();
var dat_d=date.getDate();
// alert(dat_d);
var uom=new Date(dat_year,dat_month,dat_d);
// alert(uom);
// alert(date);
uom.setDate(uom.getDate()-1);
// alert(uom);
var new_dd=uom.getDate();
var new_mm=uom.getMonth();
var new_yy=uom.getFullYear();
JS实现将字符串转为Date类型的数据
var str="2012-09-20";
var dat = new Date(Date.parse(str.replace(/-/g,"/")));
var month=dat.getMonth();
alert(month);
例子2
var s = "2012/08/06";
var dateString = new Date(Date.parse(s));
alert(dateString.getMonth());
例子3
var s = "2012/08/06 12:02:03";
var dateString = new Date(Date.parse(s));
alert(dateString.getMonth());
var t=dateString.toLocaleString();
var st=dateString.toLocaleTimeString();
alert(st);
Date类型常用方法
date.getYear(); //获取当前年份(2位)
date.getFullYear(); //获取完整的年份(4位,1970-????)
date.getMonth(); //获取当前月份(0-11,0代表1月)
date.getDate(); //获取当前日(1-31)
date.getDay(); //获取当前星期X(0-6,0代表星期天)
date.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
date.getHours(); //获取当前小时数(0-23)
date.getMinutes(); //获取当前分钟数(0-59)
date.getSeconds(); //获取当前秒数(0-59)
date.getMilliseconds(); //获取当前毫秒数(0-999)
date.toLocaleDateString(); //获取当前日期
var mytime=date.toLocaleTimeString(); //获取当前时间
date.toLocaleString( ); //获取日期与时间 即年月日 时分秒
近日在网上看到了牛人
一句代码
var today = new Date();
alert([
' 今天的日期为:' + today.toLocaleString(),
'七天前的日期为:' + new Date((+today) - 7*24*60*60*1000).toLocaleString()
].join('\n'));
这是计算当前时间之前7天的时间点的代码 so easy。。。。
上一个例子吧
var s="2012/1/1 12:28:15";
var date=new Date(Date.parse(s));
alert(new Date((+date)-24*3600*1000).toLocaleString());
这样就能求的给定时间的前一天时间 这应该是最简单的方法了
(某一天用到了 贴点代码过来)
var date = new Date(Date.parse("1989/1/10 10:12:13"))
alert(date.getFullYear()+"年"+(date.getMonth()+1)+"月"+date.getDate()+"日"+
date.getHours()+"时"+date.getMinutes()+"分"+date.getSeconds()+"秒"
);
// 结果 1989年1月10日10时12分13秒
var sj = new Date(1888,1,10,12,12,12);
alert(sj.getFullYear()+"年"+sj.getMonth()+"月"+sj.getDate()+"日"+
sj.getHours()+"时"+sj.getMinutes()+"分"+sj.getSeconds()+"秒"
);
//结果 1988年1月10日12时12分12秒
顺便我又用Java写了点 上代码
Calendar c = Calendar.getInstance();
long l=c.getTimeInMillis();
long res=l-24*3600*1000;
c.setTimeInMillis(res);
String s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(res);
System.out.println(s);
String st="2012-12-01 12:12:31";
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = sf.parse(st);//要加try catch 我直接throws Exception了
long t = d.getTime();
long p=t-24*3600*1000;
String test = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(p);
System.out.println(test);
JS的内部机制应该就是 将字符串转成 1234/12/12 的形式然后转成Date类型 具体不是很清楚 找到后增加