获取时间及星期

package sss;


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


public class sss {
/**
* 左右:输入那一天的年月日,就可以得到那天是星期几
* 资料:闰年时2月有29天,否则为28天
* 1,3,5,7,8,10,12月为31天
*/


String name[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; 
public static void main(String[] args) {
 String strDate = "2014-11-01";// 定义日期字符串  
       SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");// 定义日期格式  
       Date date = null;  
       try {  
           date = format.parse(strDate);// 将字符串转换为日期  
       } catch (ParseException e) {  
           System.out.println("输入的日期格式不合理!");  
       }  
       System.out.println(strDate + "是:" + getWeek(date));  
       System.out.println(strDate + "是一年的第:" + getWeekOfYear(date) + "周");  
       System.out.println(strDate + "是一年的" + (date.getMonth() + 1) + "月有:"  
               + getDaysOfMonth(date.getYear(), date.getMonth() + 1) + "天");  
       System.out.println(strDate + "距离" + (format.format(new Date())) + "还有"  
               + getDaysBetween(date, new Date()) + "天");  
 
   }  
 
   // 根据日期取得星期几  
   public static String getWeek(Date date) {  
       SimpleDateFormat sdf = new SimpleDateFormat("EEEE");  
       String week = sdf.format(date);  
       return week;  
   }  
 
   // 取得日期是某年的第几周  
   public static int getWeekOfYear(Date date) {  
       Calendar cal = Calendar.getInstance();  
       cal.setTime(date);  
       int week_of_year = cal.get(Calendar.WEEK_OF_YEAR);  
       return week_of_year;  
   }  
 
   // 取得某个月有多少天  
   public static int getDaysOfMonth(int year, int month) {  
       Calendar cal = Calendar.getInstance();  
       cal.set(Calendar.YEAR, year);  
       cal.set(Calendar.MONTH, month-1);  
       int days_of_month = cal.getActualMaximum(Calendar.DAY_OF_MONTH);  
       return days_of_month;  
   }
 
   // 取得两个日期之间的相差多少天  
   public static long getDaysBetween(Date date0, Date date1) {  
       long daysBetween = (date0.getTime() - date1.getTime() + 1000000) / 86400000;// 86400000=3600*24*1000  用立即数,减少乘法计算的开销  
       return daysBetween;  
   }  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值