Date: 表示特定的瞬间,精确到毫秒,他可以通过方法来设定自己所表示的时间,可以表示任意的时间

Date类的构造方法

Date() :创建的是一个表示当前系统时间的Date对象
Date(long date) :根据"指定时间"创建Date对象

/** Date: 表示特定的瞬间,精确到毫秒,他可以通过方法来设定自己所表示的时间,可以表示任意的时间* System.currentTimeMillis():返回的是当前系统时间,1970-1-1至今的毫秒数* * 构造方法:*      Date() :创建的是一个表示当前系统时间的Date对象Date(long date) :根据"指定时间"创建Date对象*/
public class DateDemo {public static void main(String[] args) {//Date()//Date d = new Date();//System.out.println(d);//Thu Aug 26 14:17:28 CST 2049//System.out.println(d.toLocaleString());//Date(long date) Date d2 = new Date(1000 * 60 * 60 * 24);//时区 有时差System.out.println(d2.toLocaleString());}
}

Date类的常用方法

void setTime(long time)
long getTime()

import java.util.Date;/** Date的常用用方法毫秒值 --- Date设置返回值是void,参数longvoid setTime(long time)  Date(long date)Date --- 毫秒值获取返回long,无参数long getTime()  */
public class DateDemo2 {public static void main(String[] args) {Date d = new Date();//默认当前系统时间//d.setTime(1000 * 60 * 60 * 24 * 2);System.out.println(d.toLocaleString());System.out.println(d.getTime());//172800000d.setTime(172800000L);System.out.println(d.toLocaleString());}
}

DateFormat类 & SimpleDateFormat

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat类)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。
我们通过这个类可以帮我们完成日期和文本之间的转换。
继续阅读API,DateFormat 可帮助进行格式化并解析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关。

DateFormat&SimpleDateFormat的常用方法

要格式化一个当前语言环境下的日期也就是日期 -> 文本),要通过下面的方法来完成。DateFormat是抽象类,我们需要使用其子类SimpleDateFormat来创建对象。
A:SimpleDateFormat构造方法

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;/** SimpleDateFormat:*        格式化:*            Date --- String*            2049-8-26 2049年8月26日*           String format(Date date) *      解析:*             String --- Date*            "2049-8-26"*          Date parse(String source) * * 构造方法:*         SimpleDateFormat() :使用默认的模式进行对象的构建*      SimpleDateFormat(String pattern) :使用的指定的模式进行对象的构建* * 注意:Exception in thread "main" java.text.ParseException: Unparseable date: "49年9月26日  下午1:29"*        解析的字符串,模式必须和构建对象的模式一样**/
public class SimpleDateFormatDemo {public static void main(String[] args) throws ParseException {//method();//method2();//使用指定的模式进行对象的构建//1999年9月1日 10:10:10//4个小姨2个大美眉和2个小弟弟SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");//格式化Date date = new Date();String s = sdf.format(date);System.out.println(s);//2049年08月26日 13:39:12//解析Date d = sdf.parse("2049年08月26日 13:39:12");System.out.println(d.toLocaleString());     }private static void method2() throws ParseException {//使用指定的模式进行对象的构建//1999年9月1日SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");//格式化Date date = new Date();String s = sdf.format(date);System.out.println(s);//2049年08月26日//解析Date d = sdf.parse("2049年08月26日");System.out.println(d.toLocaleString());}private static void method() throws ParseException {//使用默认模式进行对象的构建SimpleDateFormat sdf = new SimpleDateFormat();//创建日期对象Date date = new Date();//格式化 把日期对象转换成字符串String s = sdf.format(date);System.out.println(s);//49-8-26 下午1:29//解析 把字符串转换成日期对象Date d = sdf.parse("49年9月26日  下午1:29");System.out.println(d.toLocaleString());}}

Calendar类

Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。
Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象,如下:
Calendar类静态方法
Calendar c = Calendar.getInstance(); //返回当前时间

Calendar类常用方法

根据日历的规则,为给定的日历字段添加或减去指定的时间量
abstract void add(int field,int amount);返回给定日历字段的值
int get(int field)使用默认时区和语言环境获得一个日历
static Calendar getInstance()返回一个表示此Calendar时间值
Date getTime()将给定的日历字段设置为给定值
void set(int field,int value)

代码示例

import java.util.Calendar;/** Calendar:日历,提供了一些操作年月日时的方法* * 获取* 修改* 添加* * */
public class CalendarDemo {public static void main(String[] args) {//static Calendar getInstance()  Calendar c = Calendar.getInstance();//void set(int field, int value) :把指定的字段修改成指定的值//c.set(Calendar.DAY_OF_MONTH, 20);//void add(int field, int amount): 在指定的字段上加上指定的值c.add(Calendar.DAY_OF_MONTH, -1);//int get(int field) // 返回给定日历字段的值//public static final int YEAR 1 //System.out.println(Calendar.YEAR);//int year = c.get(1);int year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH) + 1;int day = c.get(Calendar.DAY_OF_MONTH);System.out.println(year + "年" + month + "月" + day + "日");}
}

Java日期相关类:Date、SimpleDateFormat和Calendar类常用API代码示例相关推荐

  1. 新手小白学JAVA 日期类Date SimpleDateFormat Calendar

    1. Date日期类 类 Date 表示一个特定的瞬间,精确到毫秒 1.1 Date的构造函数 Date() 分配一个 Date 对象,以表示分配它的时间(精确到毫秒) Date(long date) ...

  2. java日期相关的类正则表达式

    常用的API Date.Math.DateFormat.Calendar.正则表达式 Data类 public class DateDeom {public static void main(Stri ...

  3. javaSE (十七)Date、SimpleDateFormat、Calendar类的方法(计算在这个世界上生活多少天、显示今夕何年何月、判断闰年还是平年)

    1.Date.SimpleDateFormat类计算在这个世界上生活多少天: Date类的构造方法:Date().Date(long date) Date类的常用方法:void setTime(lon ...

  4. java 日期类 周_Java中用Calendar类计算周和周的起始日期

    package com.tongyue.hot.web; import java.util.Calendar; import java.util.Date; import java.util.Greg ...

  5. java_14正则表达式Pattern,Matcher,Math,Random,System,BigInteger,BigDecimal,Date,SimpleDateFormat,Calendar

    s'd2019.2.16 14:54 天气热 正则表达式: *定义:一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串. *作用:比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度,这个 ...

  6. 第三次学JAVA再学不好就吃翔(part74)--Calendar类

    学习笔记,仅供参考 Calendar类 Calendar类是java.util包下的一个类,使用该类时需要导包. Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY ...

  7. JAVA日期安全格式化之SimpleDateFormat和jodaTime,DateTimeFormatter

    SimpleDateFormat线程不安全的日期格式化库 SimpleDateFormat是JAVA提供的一个日期转换类. package com.rumenz.task;import java.te ...

  8. java 日期格式化 英文_Java SimpleDateFormat 中英文时间格式化转换

    SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类.它允许进行格式化(日期 -> 文本).解析(文本 -> 日期)和规范化. SimpleDateFor ...

  9. java获取calendar_java--获取当前时间(Calendar类)

    用Calendar类来获取当前的时间 代码: import java.util.Calendar; public class CalendarDemo { /** * @param args */ p ...

最新文章

  1. hdu 3374 String Problem (字符串最小最大表示 + KMP求循环节)
  2. gorm查询降序排列
  3. 『设计模式』难道你现在还不知道:C/S和B/S
  4. SharePoint 2010 master page 控件介绍(5):其他
  5. 【Egret】Wing3发布移动APP功能,打包APK流程以及会遇到的问题
  6. JAVA入门级教学之(classpath的配置)
  7. Redis的AOF日志
  8. linux disk 清除数据,如何在Linux中使用TestDisk恢复已删除的文件
  9. GitHub 新手教程 六,Git GUI 新手教程(3),从GitHub远端同步代码库
  10. matlab积分超过最大值,MATLAB 定积分上限是变量a,如何求解目标函数关于变量a的最大值?谢谢...
  11. C++ 原子操作与无锁编程
  12. java封装-猫狗宠物店案例
  13. php7cms手册,phpcms手册下载|
  14. 智慧停车系统是怎么运行的?
  15. 十款免费的Web前端开发工具
  16. 5.服务网关:GateWay
  17. 复旦大学计算机保研夏令营
  18. 电脑上的计算机可以加密码,如何给电脑上的文件夹加密
  19. Ncut算法(Normalized cuts and image segmentation)
  20. 云海麒麟服务器安装linux,性能靠谱可高度扩展 云海麒麟YH-5212S

热门文章

  1. BBR在实时音视频领域的应用
  2. 战友!6.19决战光荣日,一个真实的魔兽世界在等你!
  3. Android中Webview使用javascript调用事先定义好的Java函数
  4. 深入理解Java中的String
  5. 关于oracle监听程序的相关问题及解决方法
  6. 如何用点云对车辆和行人进行识别分类?这是MIT学生的总结
  7. JSsearch实现在购物网站输入后推荐联想的效果
  8. 如何在ChemDraw中打出符号π
  9. Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块...
  10. Java删除文件和目录