39-日期操作类

日期操作类

  从整体Java来讲一直在强调简单Java类的主要涉及其来自于数据表的结构,那么在数据表的结构里面常用的类型:数字、字符串、日期。

Date日期处理类

  在Java中提供java.util.Date的类,这个类直接实例化就可以获取当前的日期时间。
获取当前日期时间

import java.util.Date;

public class DateStudy {
    
    
	public static void main(String[] args) {
    
    
		Date date = new Date();
		System.out.println(date);
	}
}

此时需要进一步观察Date的构造方法。

public Date() {
    
    
        this(System.currentTimeMillis());
    }
public Date(long date) {
    
    
        fastTime = date;
    }

通过以上代码可以看出:Date只是对long数据的一种包装,所以Date类中所有提供日期与long数据类型转换的方法:

  • 将long转换为日期:public Date(long date);
  • 将日期转换为long:public long getTime();
import java.util.Date;

public class DateStudy {
    
    
	public static void main(String[] args) {
    
    
		Date date = new Date();
		long currtentTime = date.getTime();
		currtentTime += 864000 * 1000;		//10天的秒数
		System.out.println(new Date(currtentTime));
	}
}

long中可以保存毫秒的数据级,方便程序处理。

SimpleDateFormat日期处理类

  虽然Date可以获取当前日期时间,但默认情况下Date类输出的默认日期时间结构难以理解,现在需要对其格式化,在java.text包中提供有SimpleDateFormat程序类,该类是DataFormat的子类,再该类中提供如下方法:

  • 【DateFormat继承】将日期格式化:public final String format(Date date);
  • 【DateFormat继承】将字符串转为日期:public Date parse(String source) throws ParseException;
  • 构造方法:public SimpleDateFormat(String pattern);
    • 日期格式:年(yyyy)、月(MM)、日(dd)、时(HH)、分(mm)、秒(ss)、毫秒(SSS);

日期格式化显示

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

public class DateStudy {
    
    
	public static void main(String[] args) {
    
    
		Date date = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
		String str = sdf.format(date);
		System.out.println(str);
	}
}

  除了可以将日期格式化为字符串之后,也可实现字符串与日期之间的转换处理。
将日期转换为Date

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

public class DateStudy {
    
    
	public static void main(String[] args) throws Exception {
    
    
		String day = "1846-11-11 11:11:11.111";		//字符串
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
		Date date = sdf.parse(day);
		System.out.println(date);
	}
}

如果在进行字符串定义的时候使用的日期数字超过合理范围,则会自动进行进位处理。

利用NumberFormat对数字格式化

import java.text.NumberFormat;

public class DateStudy {
    
    
	public static void main(String[] args) throws Exception {
    
    
		double money = 1235435645.234;		//字符串
		String str = NumberFormat.getInstance().format(money);
		System.out.println(str);
	}
}

  通过现在的学习发现String可以向所有类型转换:基本类型、日期类型。

猜你喜欢

转载自blog.csdn.net/MARVEL_3000/article/details/111567642