Date类与Calendar类之间的转换

 package date;

 import java.util.Calendar;
import java.util.Date; public class DateDemo { public static void main(String[] args) {
/**
* 可以直接输出Date,不可以直接输出Calendar
* 已知当前Date类的日期now,Calendar类的日期calendar,
* 1.将Date--->Calendar,用calendar.setTime(now);
* 2.将Calendar--->Date,那么now=calendar.getTime();
*/
Date now=new Date();
Calendar calendar=Calendar.getInstance();
long now1=System.currentTimeMillis();
long now2=now.getTime();
long now3=calendar.getTimeInMillis();
System.out.println("now :"+now);
System.out.println("calendar.Year :"+calendar.get(Calendar.YEAR));
System.out.println("now1 :"+now1);
System.out.println("now2 :"+now2);
System.out.println("now3 :"+now3); calendar.add(Calendar.YEAR,-19);
System.out.printf("%d-%d-%d\n",calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH));
//Date-->Calendar
Calendar c1=Calendar.getInstance();//调用Calendar类中的静态方法getInstance()来得到一个Calendar对象
c1.setTime(now); //Calendar-->Date
Date birth=calendar.getTime();
System.out.println("birth :"+birth); System.out.println(birth.toLocaleString()); } }

输出如下内容:

now :Sun Dec 30 11:32:57 CST 2018
calendar.Year :2018
now1 :1546140777528
now2 :1546140777390
now3 :1546140777468
1999-11-30
birth :Thu Dec 30 11:32:57 CST 1999
1999-12-30 11:32:57

DateFormat类:

 package date;

 import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale; public class DateFormatDemo { public static void main(String[] args) {
Date now = new Date(); // Date ==> Calendar
Calendar calendar = Calendar.getInstance();
calendar.setTime(now); // 加8周
calendar.add(Calendar.WEEK_OF_YEAR, 8); // Calendar ==> Date
now = calendar.getTime();
System.out.println(now); // 格式化
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS",Locale.CHINA);
// Date ==> String
String result = format.format(now);//format为DateFormat类中的一个方法,用于Formats a Date into a date/time string.
System.out.println(result); // String ==> Date
String d = "2018-01-12 09:21:21.000";
try {
Date date = format.parse(d);//parse解析,也是DateFormat类中的一个方法,解析给定字符串中的文本内容,以产生一个日期
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
} }
}

Date、Calendar、DateFormat类的更多相关文章

  1. Java Date Calendar DateFormat Details

    From https://www.ntu.edu.sg/home/ehchua/programming/java/DateTimeCalendar.html Date and Time - Creat ...

  2. 木卯先生的笔记---Date类、DateFormat类和Calendar类

    1.Date类 1.1 简介 Date类是 java.util 包下面的类,表示特定的瞬间,精确到毫秒. 1.2 方法 1.2.1 Date() 构造方法 public Date() :分配 Date ...

  3. Java之DateFormat类

    DateFormat类概述 java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进 ...

  4. [Day16]常用API(正则表达式、Date类、DateFormat类、Calendar类)

    1.正则表达式(Regular Expression,regex)-是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字符串 1.1匹配规则: (1)字符:x -代表的 ...

  5. java时间日期类(Date、DateFormat、Calendar)学习

    1.Date类 常用方法:long getTime(),用于返回当前时刻的毫秒值 Date d = new Date(2000); System.out.println(d.getTime());// ...

  6. 14-03 java BigInteger类,BigDecimal类,Date类,DateFormat类,Calendar类

    BigInteger类 发 package cn.itcast_01; import java.math.BigInteger; /* * BigInteger:可以让超过Integer范围内的数据进 ...

  7. Java 基础 常用API ( 正则表达式,Date类,DateFormat类,Calendar类 )

    正则表达式 正则表达式的概念 正则表达式(英语:Regular Expression,在代码中常简写为regex). 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个 ...

  8. Math、Random、System、BigInteger、Date、DateFormat、Calendar类,正则表达式_DAY14

    1:Math&大数据类四则运算 X abs(X x) double random()         产生随机数 double ceil(double a)   向上取整 double flo ...

  9. Java学习(正则表达式、Date类、DateFormat类、Calendar类)

    一.正则表达式 1.概念:英语:Regular Expression,在代码中常简写为regex.正则表达式,是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字符串. ...

随机推荐

  1. est是基于less的样式工具库

    网址:http://ecomfe.github.io/est/ 此处HTML中如果直接引用less就会报错! est 如果直接引用less和js 是会报错的 样式规范:https://www.zybu ...

  2. Confluence 6 通过 SSL 或 HTTPS 运行 - 创建或请求一个 SSL 证书

    在启用 HTTPS 之前,你需要一个有效的证书,如果你已经有了一个有效的证书,你可以直接跳过这个步骤,进入 step 2. 你可以创建一个自签名的证书,或者从信任的 Certificate Autho ...

  3. 探索一个NSObject对象占用多少内存?

    1 下面写代码测试探索NSObject的本质 Objective-C代码,底层实现其实都是C\C++代码 #import <Foundation/Foundation.h> int mai ...

  4. python之线程同步

    lock与rlock 使用lock不能连续两次获取锁,获取锁必须先释放锁.但是在一个线程中调用另一个函数时,在该函数中要继续操作共享的数据,这时获取锁就相当于连续执行两次获取锁,所以lock就不适用该 ...

  5. Python实战二

    要求:按照要求完成对文件的增.删.改.查操作. def add(**kwargs): '''新增内容,在指定位置新增''' while True: flag = False with open(&qu ...

  6. hdu1565 用搜索代替枚举找可能状态或者轮廓线解(较优),参考poj2411

    这题用直接枚举是超时的,必须要用搜索来搜索出所有可能的状态,然后再进行枚举 这是较慢的做法 /* 方格取数,相邻格子的数不可取,问最多取到的和是什么 有点类似炮兵布阵,先打出所有可能的状态,然后dp[ ...

  7. noip 2018.10.14 模拟赛 砍树

    数学问题... 根据题意,有: 移项,整理,得: 记 于是 那么 可以看到,最多只会有2*个取值(显而易见) 于是对应的,可能产生效果的d也只会有个,于是我们把他们找出来,扔进一个数组里然后排序,去重 ...

  8. C++ gethostname()

    使用“gethostname();”获取计算机名,先看源码: 在Code::Blocks 16.01中,设置project的Build options...,Debug > Linker set ...

  9. go的gin框架从请求中获取参数的方法

    前言: go语言的gin框架go里面比较好的一个web框架, github的start数超过了18000.可见此框架的可信度 如何获取请求中的参数 假如有这么一个请求: POST   /post/te ...

  10. Android定位元素与操作

    一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Ins ...