两个Date类型的日期,怎样用java写程序判断是否是同一年,同一个月呢?
解决方案 »
- 测试算法运行时间
- jni中怎么样返回数组参数,JNIEXPORT jint JNICALL Java_com_gy_image_HotKeyHookManager_startHotKeyHook(JNIEnv * env, jobject hookMa
- 如何将byte[]数组转换成char[]数组??
- 在java 中怎么把double类型转成 int类型
- 初学java Heloworld总是出问题,好头疼,求大神
- 怎样把Word 文件转化为.Hlp文件 (在线等候)谢谢
- jaxp的问题
- 内部类问题??????,,,,,,,,,,,
- 请问如何比较两个object 型的大小?
- 再次深入探讨画图问题!感谢踊跃参加
- 请问个的问题
- 关于建立文本框中如何设定用户输入字符的回显字符
Date d2 = new Date();
System.out.println(d1.getYear() == d2.getYear() && d1.getMonth() == d2.getMonth());
可以考虑用Calendar c = Calendar.getInstance();
c.setDate(Date date);
Calendar.get(Calendar.YEAR)
* 判断二个时间是否在同一个周
*
* @param date1
* @param date2
* @return
*/
public static boolean isSameWeekDates(Date date1, Date date2) {
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
if (0 == subYear) {
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
return true;
} else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {
// 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
return true;
} else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
return true;
}
return false;
}http://javaprogram.5d6d.com/thread-322-1-1.html
Date d11 = df.parse("2007-11-27");
Date d22 = df.parse("2007-11-27");
boolean a = d11.before(d22);
package test;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;public class TestD
{
public static boolean isSameYearMonth(Date date1, Date date2) {
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
int subMonth=cal1.get(Calendar.MONTH)-cal2.get(Calendar.MONTH);
if (0 == subYear&& 0==subMonth)
return true;
return false;
}
public static void main(String[] args) throws ParseException
{
TestD x=new TestD ();
Date x1= new Date();
Date x2= new Date();
SimpleDateFormat d = new SimpleDateFormat("yyyy-MM-dd");
x1=d.parse("2007-12-1");
x2=d.parse("2007-12-31");
if( x.isSameYearMonth(x1, x2))
{
System.out.println(x1.toString()+"和"+x2.toGMTString()+"同年同月");
}
else
{
System.out.println(x1.toLocaleString()+"和"+x2.toLocaleString()+"不同年同月");
} }
}