天马网络 网站建设/电商网站卷烟订货流程
format 方法是按照指定的格式,将date日期化,转换为符合格式的字符串
parse 方法是将符合格式的字符串解析为Date型日期
举例:
format方法
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");Date date = new Date();String d = sdf.format(date);System.out.println(date);System.out.println(d);
parse方法
private static void demo02() throws ParseException {/*用parse 方法,把文本解析为日期声明了一个异常,如果字符串和构造方法的模式不一样,那么程序就会抛出异常要么throws继续抛出这个异常,要不try catch自己处理* */SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");Date date = sdf.parse("2021年05月12日 16时42分26秒");System.out.println(date);}
将此事的String日期转换为Date日期。
综合练习:求一个人出生的天数
代码实现:
package Demo18;import java.nio.charset.StandardCharsets;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;/*练习:
* 使用日期时间相关的API,计算出一个人已经出生了多少天
* 分析:
* 1、使用Scanner类的方法next,获取出生日期
* 2、使用DateFormat方法的parse方法,解析为Date格式的出生日期
* 3、把Date格式的出生日期转换为毫秒值
* 4、获取当前日期,转换为毫秒值
* 5、使用当前日期的毫秒值-出生日期的毫秒值
* 6、毫秒值转换为天*/
public class Demo02Text {public static void main(String[] args) throws ParseException {Scanner sc = new Scanner(System.in);System.out.println("请输入您的出生日期:yyyy-MM-dd");String birthday = sc.next();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Date day = sdf.parse(birthday);long time = day.getTime();long today = new Date().getTime();long cha = today - time;System.out.println("您一共活了:"+ cha/1000/60/60/24);}
}
Calendar类是一个抽象类,不能直接创建对象,需要用getInstance来获取
举例:Calendar c = new Calendar.getInstance();
Calendar方法:get(Calendar.YEAR||MONTH||DAY)//得到月份
Calendar方法:set (Calendar.MONTH,9)//设置月份
c.set(yyyy,MM,dd)同时设置年月日
add方法把指定的字段增加、减少指定的值