Date与Calander使用及异同
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使用及异同相关推荐
- Java中setyear和getyear_java时间类Calander,Date等的问题
时间容易出现的问题,就是获取和设置年月日等问题上 我们通常使用 Date和Calander用作时间处理,其实会有两个问题: 1.Date的缺陷,我们知道 Date的setYear和getYear等函数 ...
- Date类和Calander类
一.Date类 Date:表示日期格式,精确到毫秒 (1)常用的方法 Date():获取当前的系统时间,并且以Date格式来表现出来 public Date(long date):分配Date对象并且 ...
- ie和firefox操作table对象的异同
2019独角兽企业重金招聘Python工程师标准>>> ie和firefox下操作table对象的异同[测试浏览器版本:ie为8,9,firefox为2.0] 1)在ie下,tabl ...
- 取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 ...
- ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同
相关文章: 1.<ViewPager 详解(一)---基本入门> 2.<ViewPager 详解(二)---详解四大函数> 3.<ViewPager 详解(三)-- ...
- Linux buffer/cache异同
buffers与cached 1).异同点 在Linux 操作系统中,当应用程序需要读取文件中的数据时,操作系统先分配一些内存,将数据从磁盘读入到这些内存中,然后再将数据分发给应用程序:当需要往文件中 ...
- pythondifflib详解_用python标准库difflib比较两份文件的异同详解
[需求背景] 有时候我们要对比两份配置文件是不是一样,或者比较两个文本是否异样,可以使用linux命令行工具diff a_file b_file,但是输出的结果读起来不是很友好.这时候使用python ...
- 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 ...
- 字符串格式化成时间格式_小程序wxs中的时间格式化以及格式化时间和date时间互转...
WXS(WeiXin Script)是小程序的一套脚本语言,wxs 与 javascript 是不同的语言,有自己的语法,并不和 javascript 一致.其中包括了很多日常使用的javascrip ...
最新文章
- 情侣必做的100件小事,提升幸福感,快收藏
- 设置IIS缓存的方法
- oracle脱机备份文件拒绝访问,如何解决备份文件夹拒绝访问问题
- java:能否得到一个对象的内存地址?
- 将图形以JPEG格式输出到浏览器或文件
- 漫步凸分析二——凸集和锥
- 获取byte的各个bit值_Java中获取一个Byte 的各个Bit的值
- 图嵌入表示TADW:当DeepWalk加上外部文本信息
- 【操作系统】Mac环境配置
- BZOJ 2431 [HAOI2009]逆序对数列 (dp)
- 如何使用.NET清除IE的缓存(Temporary Internet Files)
- 2021-07-31mysql 登录退出
- 阿里巴巴java开发手册pdf
- admixture软件_使用ADMIXTURE进行群体结构分析
- 提出辞职可以用的五个理由推荐给大家
- 方便简洁的在线WEB多人网页聊天室系统源码
- java的cursor_JAVA中类 Cursor的定义.
- 安卓机如果相册不选图片就退出_微商相册如何在「多台设备登录」?
- **DNS中A记录和CNAME记录的区别(转)
- 为什么字节跳动的年薪50万的软件测试工程师遍地都是?