java如何通过calendar类获取当前系统日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何通过calendar类获取当前系统日期相关的知识,希望对你有一定的参考价值。

import java.util.Calendar;

public class Rightnow

/**
* @param args
*/

public static void main(String[] args)
//TODO Auto-generated method stub

Calendar Start=Calendar.getInstance();
Start.set(2008, 5, 1);
Calendar End=Calendar.getInstance();
End.set(2008,08,01);
Calendar rightNow=Calendar.getInstance();
// rightNow.set(2008, 5,29);

if((rightNow.after(Start))&&(rightNow.before(End)))
System.out.println("当前日期位于start和end之间");
else
System.out.println("当前日期不位于start和end之间");


我想实时获取系统日期,但if语句不执行啊!请高手指点

参考技术A Calendar ca = Calendar.getInstance(); int year = ca.get(Calendar.YEAR);//获取年份 int month=ca.get(Calendar.MONTH);//获取月份 int day=ca.get(Calendar.DATE);//获取日 int minute=ca.get(Calendar.MINUTE);//分 int hour=ca.get(Calendar.HOUR);//小时 int second=ca.get(Calendar.SECOND);//秒 int WeekOfYear = ca.get(Calendar.DAY_OF_WEEK); 参考技术B java里0是1月,所以5是6月,11是12月。本回答被提问者采纳

在java中如何通过一个月份,获得该月份的第一天的日期?

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

public class Test
public static void main(String[] args)
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.setTime(new Date());// 设置当前日期
int day = calendar.getMinimum(Calendar.DAY_OF_MONTH);// 取得当前月的最小日期(天)
calendar.set(Calendar.DAY_OF_MONTH, day);// 设置天
String sDate = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime());// 格式化成字符串
System.out.println(sDate);// 打印

参考技术A public static String getFirstDayOfMonth(int year,int month)

Calendar cal = Calendar.getInstance();
//设置年份
cal.set(Calendar.YEAR,year);
//设置月份
cal.set(Calendar.MONTH, month-1);
//设置日历中月份的第1天
cal.set(Calendar.DAY_OF_MONTH, 1);
//格式化日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String firstDayOfMonth = sdf.format(cal.getTime());

return firstDayOfMonth ;
参考技术B 兄弟,这算什么问题啊?我怎么看不懂啊?通过一个月份得到该月第一天的日期?当然是这个月的1号啦! 传入参数6 传出6月1号 不知我理解的对不对!追问

恩!就是你这个意思。

追答

返回值要求是一个String还是一个Date

追问

Date

追答

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

public class Test
public static void main(String[] args)
Test t = new Test();
Date d = t.test(8);
System.out.println(d);


public Date test(int month)
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
String str = year+"-"+month+"-1";
Date d=null;
try
d = new SimpleDateFormat("yyyy-MM-dd").parse(str);
catch (ParseException e)
e.printStackTrace();

return d;


------------------------------------------------------------------------------
不明白再追问吧

本回答被提问者采纳
参考技术C //获得下个月第一天的日期
public String getNextMonthFirst()
String str = "";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

Calendar lastDate = Calendar.getInstance();
lastDate.add(Calendar.MONTH,1);//减一个月
lastDate.set(Calendar.DATE, 1);//把日期设置为当月第一天
str=sdf.format(lastDate.getTime());
return str;
追问

我的意思是:我假如输入8份,如何获得2011-8-1?

以上是关于java如何通过calendar类获取当前系统日期的主要内容,如果未能解决你的问题,请参考以下文章

Java常用的日期操作

java怎么分开获取系统年月日

Java中的Date类DateFormat类Calendar类

Java中的Date类DateFormat类Calendar类

Calendar日期类详解SimpleDateFormat时区Date夏令时常用方法,日期差获取当前时间

Java的日期类和日期格式化类