Date与Calander使用及异同

  • 1. 区别
  • 2.Date
  • 3.Calander
  • 4.SimpleDateFormat
  • 5.String、Data、Calendar时间转化

部分代码非原创,转载而来,互相学习 :)

1. 区别

  • Date 用于格式化等
  • Calander 用于计算

2.Date

Date 表示特定的瞬间,精确到毫秒。用距离1970年1月1日00:00:00的毫秒数(long)类型来表示一个特定的时间点,该值可正可负。
Date类中很多方法已经过时,使用Calendar来替代。

常用方法有

  • long getTime()

  • void setTime(long time)

         Date date=new Date();long current=date.getTime();System.out.println(current);//1472002479966System.out.println(date);//Wed Aug 24 09:34:39 CST 2016`

3.Calander

Java.util.Calendar是抽象类,主要用来对时间分量进行计算。

Calendar类的成员方法
static Calendar getInstance() 使用默认时区和区域设置获取日历。通过该方法生成Calendar对象。如下所示:Calendar cr=Calendar.getInstance():
public void set(int year,int month,int date,int hourofday,int minute,int second) 设置日历的年、月、日、时、分、秒。
public int get(int field) 返回给定日历字段的值。
public void setTime(Date date) 使用给定的Date设置此日历的时间。Date------>Calendar
public Date getTime() 返回一个Date表示此日历的时间。Calendar----->Date
abstract void add(int field,int amount) 按照日历的规则,给指定字段添加或减少时间量。
public long getTimeInMillies() 以毫秒为单位返回该日历的时间值。
  • Calendar getInstance()
public class LearnTimeDemo {public static void main(String[] args) {long TimeNow = System.currentTimeMillis();//获得系统时间,一般用long类型的,得到此事件,currentTimeMillis()方法精确到毫秒System.out.println("此刻时间"+TimeNow);//输出为long类型的语言,机器能读懂的语言Calendar calendar=Calendar.getInstance();//获得此刻的时间System.out.println("Calendar获得的时间"+calendar.getTime());}
  • get()
public class Demo3 {public static void main(String[] args) {Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));    //获取东八区时间int year = c.get(Calendar.YEAR);   //获取年int month = c.get(Calendar.MONTH) + 1;   //获取月份,会少一天。所以+1int day = c.get(Calendar.DAY_OF_MONTH);    //获取当前天数int t = c.get(Calendar.HOUR_OF_DAY);       //获取当前小时int m = c.get(Calendar.MINUTE);          //获取当前分钟int se = c.get(Calendar.SECOND);          //获取当前秒SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//格式化时间格式String Now = s.format(c.getTime());  //获得当前日期     format(Obj):格式化一个对象以生成一个字符串。System.out.println("当前时间:" + year + "-" + month + "-"+ day + " "+t + ":" + m +":" + se);System.out.println("当前日期Now:" + Now);}}
  • add(),setTime()
public String nextDate(String mm) throws Exception {//String mm="2015-05-25";SimpleDateFormat aa = new SimpleDateFormat("yyyy-MM-dd");Date date = aa.parse(mm); //String to DateCalendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.add(Calendar.DAY_OF_MONTH, -1);return (aa.format(calendar.getTime()));

4.SimpleDateFormat

用于格式化时间 Date

package org.maoge.common;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatDemo {public static void main(String[] args) {//默认输出格式Date date=new Date();System.out.println(date);//Fri Oct 27 16:56:37 CST 2017//日期格式化显示,首先定义格式SimpleDateFormat sdf1=new SimpleDateFormat("yyyyMMdd");//显示20171027格式SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd");//显示2017-10-27格式SimpleDateFormat sdf3=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//显示2017-10-27 10:00:00格式SimpleDateFormat sdf4=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");//显示2017年10月27日10时00分00秒格式//将格式应用于日期System.out.println(sdf1.format(date));//20171027System.out.println(sdf2.format(date));//2017-10-27System.out.println(sdf3.format(date));//2017-10-27 17:11:13System.out.println(sdf4.format(date));//2017年10月27日17时11分13秒}
}

5.String、Data、Calendar时间转化

  • 所有涉及转换的必须要抛出异常 / try-catch
  • SimpleDateFormat 只与Date 交互

1.Calendar 转化 String

Calendar calendat = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sdf.format(calendar.getTime());

2.String 转化Calendar

String str="2012-5-27";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse(str);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);

3.Date 转化String

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
String dateStr=sdf.format(new Date());

4.String 转化Date

String str="2012-5-27";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date= sdf.parse(str);

5.Date 转化Calendar

Calendar calendar = Calendar.getInstance();
calendar.setTime(new java.util.Date());

6.Calendar转化Date

Calendar calendar = Calendar.getInstance();
java.util.Date date =calendar.getTime();

7.String 转成 Timestamp

Timestamp ts = Timestamp.valueOf("2012-1-14 08:11:00");

8.Date 转 TimeStamp

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = df.format(new Date());
Timestamp ts = Timestamp.valueOf(time);

Date与Calander使用及异同相关推荐

  1. Java中setyear和getyear_java时间类Calander,Date等的问题

    时间容易出现的问题,就是获取和设置年月日等问题上 我们通常使用 Date和Calander用作时间处理,其实会有两个问题: 1.Date的缺陷,我们知道 Date的setYear和getYear等函数 ...

  2. Date类和Calander类

    一.Date类 Date:表示日期格式,精确到毫秒 (1)常用的方法 Date():获取当前的系统时间,并且以Date格式来表现出来 public Date(long date):分配Date对象并且 ...

  3. ie和firefox操作table对象的异同

    2019独角兽企业重金招聘Python工程师标准>>> ie和firefox下操作table对象的异同[测试浏览器版本:ie为8,9,firefox为2.0] 1)在ie下,tabl ...

  4. 取java.sql.date日期_JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]...

    1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud su ...

  5. ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同

     相关文章: 1.<ViewPager 详解(一)---基本入门> 2.<ViewPager 详解(二)---详解四大函数> 3.<ViewPager 详解(三)-- ...

  6. Linux buffer/cache异同

    buffers与cached 1).异同点 在Linux 操作系统中,当应用程序需要读取文件中的数据时,操作系统先分配一些内存,将数据从磁盘读入到这些内存中,然后再将数据分发给应用程序:当需要往文件中 ...

  7. pythondifflib详解_用python标准库difflib比较两份文件的异同详解

    [需求背景] 有时候我们要对比两份配置文件是不是一样,或者比较两个文本是否异样,可以使用linux命令行工具diff a_file b_file,但是输出的结果读起来不是很友好.这时候使用python ...

  8. java中将date插入mysql中date_JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]...

    1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud su ...

  9. 字符串格式化成时间格式_小程序wxs中的时间格式化以及格式化时间和date时间互转...

    WXS(WeiXin Script)是小程序的一套脚本语言,wxs 与 javascript 是不同的语言,有自己的语法,并不和 javascript 一致.其中包括了很多日常使用的javascrip ...

最新文章

  1. 情侣必做的100件小事,提升幸福感,快收藏
  2. 设置IIS缓存的方法
  3. oracle脱机备份文件拒绝访问,如何解决备份文件夹拒绝访问问题
  4. java:能否得到一个对象的内存地址?
  5. 将图形以JPEG格式输出到浏览器或文件
  6. 漫步凸分析二——凸集和锥
  7. 获取byte的各个bit值_Java中获取一个Byte 的各个Bit的值
  8. 图嵌入表示TADW:当DeepWalk加上外部文本信息
  9. 【操作系统】Mac环境配置
  10. BZOJ 2431 [HAOI2009]逆序对数列 (dp)
  11. 如何使用.NET清除IE的缓存(Temporary Internet Files)
  12. 2021-07-31mysql 登录退出
  13. 阿里巴巴java开发手册pdf
  14. admixture软件_使用ADMIXTURE进行群体结构分析
  15. 提出辞职可以用的五个理由推荐给大家
  16. 方便简洁的在线WEB多人网页聊天室系统源码
  17. java的cursor_JAVA中类 Cursor的定义.
  18. 安卓机如果相册不选图片就退出_微商相册如何在「多台设备登录」?
  19. **DNS中A记录和CNAME记录的区别(转)
  20. 为什么字节跳动的年薪50万的软件测试工程师遍地都是?

热门文章

  1. js连接mqtt进行通信
  2. 户外直播 4G/5G户外高清直播 5G视频回传
  3. 在国内愚人节可以开的10个玩笑
  4. JAVA基础学习博客007
  5. java开发各层对象含义
  6. 使用IDEA创建一个Solidity项目
  7. 电机是怎么转的?(电机原理+电机控制+电机分类)
  8. 恢复Outlook 2010/2007已被删除邮件的方法
  9. C语言(##)连接符号的简单使用
  10. PhpStorm 正则 小写变大写