本文目录一览:
- 1、java如何创建一个指定的日期对象?
- 2、如何将JAVA DATE类型的日期 转换成指定格式类型的 (如:YYYY-MM-DD) 的 DATE类型数据?
- 3、java里日期循环方法
- 4、java三个int表示日期
java如何创建一个指定的日期对象?
第一个问题:
这有好几种做法都可以实现:
1.new一个java.util.Date对象,调用它的setYear、setMonth等等方法,设置你要的年月日。不过这种做法不推荐,因为setYear等方法已经过时了。
2.new一个java.util.SimpleDateFormat类的实例,构造方法可以指定日期格式,例如yyyy-MM-dd,其中yyyy表示四位年份,MM表示两位月份,dd表示两位日期。然后通过调用这个SimpleDateFormat实例的parse方法可以解析获得指定日期的Date对象。
代码示例:
SimpleDateFormat
sdf
=
new
SimpleDateFormat("yyyy-MM-dd");
Date
d
=
sdf.parse("2014-03-02");
3.通过java.util.Calendar类的静态方法getInstance()获得一个日历类实例,然后调用此实例的set(int
year,
int
month,
int
date)
设置日历字段
YEAR、MONTH
和
DAY_OF_MONTH
的值,然后调用实例的getTime()方法可以获得指定日期的Date对象
第二个问题:
参考上一个问题的第3种做法,Calendar.getInstance()获得的是当前时刻的日历实例对象,调用此实例对象的setLenient(false)设置日历解释为宽松模式,然后再通过roll(int
field,
boolean
up)方法在给定的时间字段上添加或减去(上/下)单个时间单元(例如你要的“一个月”时间单月),最后通过getTime()方法获得Date对象。
这两个问题都是很简单的,你找份JDK
API文档看看就可以找到办法了,自己多看多想会更好。
如何将JAVA DATE类型的日期 转换成指定格式类型的 (如:YYYY-MM-DD) 的 DATE类型数据?
Date类型并没有格式,只有转换成String格式的时候让格式化显示。
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")format(new Date());
Calendar calendar = Calendar.getInstance();
int year = Integer.parseInt(datetime.substring(0,4));
int month = Integer.parseInt(datetime.substring(5,7));
int date = Integer.parseInt(datetime.substring(8,10));
int hour = Integer.parseInt(datetime.substring(11,13));
int minute = Integer.parseInt(datetime.substring(14,16));
//int second = Integer.parseInt(datetime.substring(17,19));
if(calendar.get(Calendar.YEAR)year){
int y = calendar.get(Calendar.YEAR)-year;
扩展资料:
Date类可以在java.util包中找到,用一个long类型的值表示一个指定的时刻。它的一个有用的构造函数是Date(),创建一个表示创建时刻的对象。getTime()方法返回Date对象的long值。
import java.util.*;
public class Now {
public static void main(String[] args) {
Date now = new Date();
long nowLong = now.getTime();
System.out.println("Value is " + nowLong);
参考资料来源:百度百科-java日期函数
java里日期循环方法
可以通过日期的add(Calendar.MONTH, 1)方法进行月份切换,输出每个满足条件的值
Date d1 = new SimpleDateFormat("yyyy-MM").parse("2015-6");//定义起始日期
Date d2 = new SimpleDateFormat("yyyy-MM").parse("2016-5");//定义结束日期
Calendar dd = Calendar.getInstance();//定义日期实例
dd.setTime(d1);//设置日期起始时间
while(dd.getTime().before(d2)){//判断是否到结束日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String str = sdf.format(dd.getTime());
System.out.println(str);//输出日期结果
dd.add(Calendar.MONTH, 1);//进行当前日期月份加1
}
输出结果:
java三个int表示日期
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入年份:");
int year = scanner.nextInt();
System.out.print("请输入月份:");
int month = scanner.nextInt();
System.out.print("请输入几号:");
int day = scanner.nextInt();
Calendar c =Calendar.getInstance();
c.set(year, month - 1, day);
Date date = c.getTime();
Date currDate = new Date();
SimpleDateFormat fmt = new SimpleDateFormat("yyyy年MM月dd曰");
System.out.println("输入的日期为:"+fmt.format(date));
System.out.println("当前日期为:"+fmt.format(currDate));
if(date.after(currDate)){
System.out.println("输入的日期比当前日期【晚】");
} else if(date.before(currDate)){
System.out.println("输入的日期比当前日期【早】");
} else{
System.out.println("输入的日期与当前日期【一样】");
}
}