總結(jié)一些常用到的函數(shù)可以直接在你的應(yīng)用程序中調(diào)用就可以了!方便。我在網(wǎng)上找了些有的用不了。
/**
* 以指定的格式來格式化日期
* @param date Date
* @param format String
* @return String
*/
public String formatDateByFormat(java.util.Date date,String format)
{
String result = "";
if(date != null)
{
try
{
SimpleDateFormat sdf = new SimpleDateFormat(format);
result = sdf.format(date);
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
return result;
}
/**
* 常用的格式化日期
*
* @param date Date
* @return String
*/
public String formatDate(java.util.Date date)
{
return formatDateByFormat(date,"yyyy-MM-dd");
}
直接在主方法中調(diào)用這個(gè)方法就可以生成我們所想要的日期格式了哦!方便使用的!
java.util 類 Calendar好像這個(gè)類的功能相當(dāng)?shù)貜?qiáng)大,我查了一下JDK參考文檔摘錄如下重要信息:
Calendar 提供了一個(gè)類方法 getInstance,以獲得此類型的一個(gè)通用的對(duì)象。Calendar 的 getInstance 方法返回一個(gè) Calendar 對(duì)象,其日歷字段已由當(dāng)前日期和時(shí)間初始化:
Calendar rightNow = Calendar.getInstance();//類方法
可以通過調(diào)用 set 方法來設(shè)置日歷字段值。在需要計(jì)算時(shí)間值(距歷元所經(jīng)過的毫秒)或日歷字段值之前,不會(huì)解釋 Calendar 中的所有字段值設(shè)置。調(diào)用 get、getTimeInMillis、getTime、add 和 roll 涉及此類計(jì)算。
會(huì)了這個(gè)方法之后的方法如下:
/**
* 返回年份
*
* @param date
* 日期
* @return 返回年份
*/
public static int getYear(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.YEAR);
}
賦值一個(gè)java.util.Date對(duì)象給它當(dāng)參數(shù)就可以得到當(dāng)前的年份了。
/**
* 返回月份
*
* @param date
* 日期
* @return 返回月份
*/public static int getMonth(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.MONTH) + 1;
}
得到1月份為1哦。因?yàn)槲壹恿?哈哈。
/**
* 返回日份
*
* @param date
* 日期
* @return 返回日份
*/
public static int getDay(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.DAY_OF_MONTH);
}
可以返回是幾號(hào)出來了哦!
/**
* 返回小時(shí)
*
* @param date
* 日期
* @return 返回小時(shí)
*/
public static int getHour(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.HOUR_OF_DAY);
}
/**
* 返回分鐘
*
* @param date
* 日期
* @return 返回分鐘
*/
public static int getMinute(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.MINUTE);
}
/**
* 返回秒鐘
*
* @param date
* 日期
* @return 返回秒鐘
*/
public static int getSecond(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.SECOND);
}
DAY_OF_WEEK_IN_MONTH get 和 set 的字段數(shù)字,指示當(dāng)前月中的第幾個(gè)星期。
可以指定今天是當(dāng)前月的第幾個(gè)星期哦!
我試了一下今天是當(dāng)前月的第2周哈哈正確!
DAY_OF_WEEK get 和 set 的字段數(shù)字,指示一個(gè)星期中的某天。
我相信這個(gè)屬性會(huì)對(duì)我有幫助的哦!
public static int getDay(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.DAY_OF_WEEK);
}
我直接調(diào)用這個(gè)方法可以得到今天是周三返回的是4 因?yàn)槭侵苋帐菑?開始的哦!
OK,我現(xiàn)在想了解一下當(dāng)你輸入:2008年5月第一周是從哪號(hào)到哪號(hào)的
OK,現(xiàn)在來分析一下當(dāng)用戶輸入2008年5月份第一周是從幾號(hào)到幾號(hào)的問題了!
第一步:得到今天是哪年哪月哪號(hào)哪周都沒有問題了。
第二步:確定2008年5月份的一號(hào)是周幾?
WEEK_OF_YEAR get 和 set 的字段數(shù)字,指示當(dāng)前年中的星期數(shù)。
可以確定今天是這一年中的第幾周哦哈哈。太強(qiáng)大了這個(gè)類
Calendar cal = Calendar.getInstance();
int month=cal.getActualMaximum(Calendar.DAY_OF_MONTH);
此方法可以得到當(dāng)前月份的天數(shù)哦。非常地好用而且我在潤年與平年的時(shí)候進(jìn)行比較處理了發(fā)現(xiàn)能夠準(zhǔn)確得到天數(shù)哦!
//獲得周一的日期public static String getMonday(Date date){
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
}
這個(gè)方法可以得到當(dāng)前月份的周一的日
OK!剛剛在網(wǎng)上找了一份非常不錯(cuò)的代碼現(xiàn)在整理如下:
/**下面的方法可以通過一個(gè)字符串構(gòu)造出來一個(gè)Date類型的數(shù)據(jù)出來!*/
public static Date strToDateLong(String strDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
ParsePosition pos = new ParsePosition(0);
Date strtodate = formatter.parse(strDate, pos);
return strtodate;
}
/**既然能夠構(gòu)造出來指定日期的時(shí)間變量那現(xiàn)在來分析一下指定某天與當(dāng)天的時(shí)間差吧!*/
/**
* 得到二個(gè)日期間的間隔天數(shù)
*/
public static String getTwoDay(String sj1, String sj2) {
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
long day = 0;
try {
java.util.Date date = myFormatter.parse(sj1);
java.util.Date mydate = myFormatter.parse(sj2);
day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
} catch (Exception e) {
return "";
}
return day + "";
}
我在代碼中實(shí)現(xiàn)了可以發(fā)現(xiàn)結(jié)果是正確 的哦!
而且是能夠判斷出來潤年與否的哦。方便得多了哦!
OK!
/**通過這樣子我們可以構(gòu)造出來一個(gè)類似這種字符串類型的時(shí)間出來的哦!*/
public static Date strToDate(String strDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
ParsePosition pos = new ParsePosition(0);
Date strtodate = formatter.parse(strDate, pos);
return strtodate;
}
/**
* 獲得一個(gè)日期所在的周的星期幾的日期,如要找出2002年2月3日所在周的星期一是幾號(hào)
*
* @param sdate所確定的日期形式2009-01-01
* @param num要確定的是周幾(1表示周一2表示周二)
* @return
*/
public static String getWeek(String sdate, String num) {
// 再轉(zhuǎn)換為時(shí)間
Date dd = VeDate.strToDate(sdate);
Calendar c = Calendar.getInstance();
c.setTime(dd);
if (num.equals("1")) // 返回星期一所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
else if (num.equals("2")) // 返回星期二所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
else if (num.equals("3")) // 返回星期三所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
else if (num.equals("4")) // 返回星期四所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
else if (num.equals("5")) // 返回星期五所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
else if (num.equals("6")) // 返回星期六所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
else if (num.equals("0")) // 返回星期日所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
}
/**
* 以指定的格式來格式化日期
* @param date Date
* @param format String
* @return String
*/
public String formatDateByFormat(java.util.Date date,String format)
{
String result = "";
if(date != null)
{
try
{
SimpleDateFormat sdf = new SimpleDateFormat(format);
result = sdf.format(date);
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
return result;
}
/**
* 常用的格式化日期
*
* @param date Date
* @return String
*/
public String formatDate(java.util.Date date)
{
return formatDateByFormat(date,"yyyy-MM-dd");
}
直接在主方法中調(diào)用這個(gè)方法就可以生成我們所想要的日期格式了哦!方便使用的!
java.util 類 Calendar好像這個(gè)類的功能相當(dāng)?shù)貜?qiáng)大,我查了一下JDK參考文檔摘錄如下重要信息:
Calendar 提供了一個(gè)類方法 getInstance,以獲得此類型的一個(gè)通用的對(duì)象。Calendar 的 getInstance 方法返回一個(gè) Calendar 對(duì)象,其日歷字段已由當(dāng)前日期和時(shí)間初始化:
Calendar rightNow = Calendar.getInstance();//類方法
可以通過調(diào)用 set 方法來設(shè)置日歷字段值。在需要計(jì)算時(shí)間值(距歷元所經(jīng)過的毫秒)或日歷字段值之前,不會(huì)解釋 Calendar 中的所有字段值設(shè)置。調(diào)用 get、getTimeInMillis、getTime、add 和 roll 涉及此類計(jì)算。
會(huì)了這個(gè)方法之后的方法如下:
/**
* 返回年份
*
* @param date
* 日期
* @return 返回年份
*/
public static int getYear(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.YEAR);
}
賦值一個(gè)java.util.Date對(duì)象給它當(dāng)參數(shù)就可以得到當(dāng)前的年份了。
/**
* 返回月份
*
* @param date
* 日期
* @return 返回月份
*/public static int getMonth(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.MONTH) + 1;
}
得到1月份為1哦。因?yàn)槲壹恿?哈哈。
/**
* 返回日份
*
* @param date
* 日期
* @return 返回日份
*/
public static int getDay(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.DAY_OF_MONTH);
}
可以返回是幾號(hào)出來了哦!
/**
* 返回小時(shí)
*
* @param date
* 日期
* @return 返回小時(shí)
*/
public static int getHour(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.HOUR_OF_DAY);
}
/**
* 返回分鐘
*
* @param date
* 日期
* @return 返回分鐘
*/
public static int getMinute(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.MINUTE);
}
/**
* 返回秒鐘
*
* @param date
* 日期
* @return 返回秒鐘
*/
public static int getSecond(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.SECOND);
}
DAY_OF_WEEK_IN_MONTH get 和 set 的字段數(shù)字,指示當(dāng)前月中的第幾個(gè)星期。
可以指定今天是當(dāng)前月的第幾個(gè)星期哦!
我試了一下今天是當(dāng)前月的第2周哈哈正確!
DAY_OF_WEEK get 和 set 的字段數(shù)字,指示一個(gè)星期中的某天。
我相信這個(gè)屬性會(huì)對(duì)我有幫助的哦!
public static int getDay(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.DAY_OF_WEEK);
}
我直接調(diào)用這個(gè)方法可以得到今天是周三返回的是4 因?yàn)槭侵苋帐菑?開始的哦!
OK,我現(xiàn)在想了解一下當(dāng)你輸入:2008年5月第一周是從哪號(hào)到哪號(hào)的
OK,現(xiàn)在來分析一下當(dāng)用戶輸入2008年5月份第一周是從幾號(hào)到幾號(hào)的問題了!
第一步:得到今天是哪年哪月哪號(hào)哪周都沒有問題了。
第二步:確定2008年5月份的一號(hào)是周幾?
WEEK_OF_YEAR get 和 set 的字段數(shù)字,指示當(dāng)前年中的星期數(shù)。
可以確定今天是這一年中的第幾周哦哈哈。太強(qiáng)大了這個(gè)類
Calendar cal = Calendar.getInstance();
int month=cal.getActualMaximum(Calendar.DAY_OF_MONTH);
此方法可以得到當(dāng)前月份的天數(shù)哦。非常地好用而且我在潤年與平年的時(shí)候進(jìn)行比較處理了發(fā)現(xiàn)能夠準(zhǔn)確得到天數(shù)哦!
//獲得周一的日期public static String getMonday(Date date){
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
}
這個(gè)方法可以得到當(dāng)前月份的周一的日
OK!剛剛在網(wǎng)上找了一份非常不錯(cuò)的代碼現(xiàn)在整理如下:
/**下面的方法可以通過一個(gè)字符串構(gòu)造出來一個(gè)Date類型的數(shù)據(jù)出來!*/
public static Date strToDateLong(String strDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
ParsePosition pos = new ParsePosition(0);
Date strtodate = formatter.parse(strDate, pos);
return strtodate;
}
/**既然能夠構(gòu)造出來指定日期的時(shí)間變量那現(xiàn)在來分析一下指定某天與當(dāng)天的時(shí)間差吧!*/
/**
* 得到二個(gè)日期間的間隔天數(shù)
*/
public static String getTwoDay(String sj1, String sj2) {
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
long day = 0;
try {
java.util.Date date = myFormatter.parse(sj1);
java.util.Date mydate = myFormatter.parse(sj2);
day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
} catch (Exception e) {
return "";
}
return day + "";
}
我在代碼中實(shí)現(xiàn)了可以發(fā)現(xiàn)結(jié)果是正確 的哦!
而且是能夠判斷出來潤年與否的哦。方便得多了哦!
OK!
/**通過這樣子我們可以構(gòu)造出來一個(gè)類似這種字符串類型的時(shí)間出來的哦!*/
public static Date strToDate(String strDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
ParsePosition pos = new ParsePosition(0);
Date strtodate = formatter.parse(strDate, pos);
return strtodate;
}
/**
* 獲得一個(gè)日期所在的周的星期幾的日期,如要找出2002年2月3日所在周的星期一是幾號(hào)
*
* @param sdate所確定的日期形式2009-01-01
* @param num要確定的是周幾(1表示周一2表示周二)
* @return
*/
public static String getWeek(String sdate, String num) {
// 再轉(zhuǎn)換為時(shí)間
Date dd = VeDate.strToDate(sdate);
Calendar c = Calendar.getInstance();
c.setTime(dd);
if (num.equals("1")) // 返回星期一所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
else if (num.equals("2")) // 返回星期二所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
else if (num.equals("3")) // 返回星期三所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
else if (num.equals("4")) // 返回星期四所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
else if (num.equals("5")) // 返回星期五所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
else if (num.equals("6")) // 返回星期六所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
else if (num.equals("0")) // 返回星期日所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
}