Java中Calendar的一些简单操作 及 JS中获取当前时间前一天时间(js中时间Date操作)

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类型 具体不是很清楚 找到后增加

 

 

 

 

 

 


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值