java中时间类型转换

在java中有六大时间类,分别是:

1、java.util包下的Date类,

2、java.sql包下的Date类,

3、java.text包下的DateFormat类,(抽象类)

4、java.text包下的SimpleDateFormat类,

5、java.util包下的Calendar类,(抽象类)

6、java.sql包下的Time类,

7、java.sql包下的TimeStamp类。

一、java.util包下的Date类:

Date主要用来生成时间,Date有两个构造方法:Date()和Date(long date)

二、java.text包下的DateFormat类,(抽象类):

DateFormat继承自Format。

下面两个是实现的接口,两个接口无任何内容:

DateFormat是时间/日期格式化子类的抽象类,所以不能有构造方法实例化,可以用两个静态函数进行实例化。

getDateInstance()------返回的是日期

getDateTimeInstance()--------------------返回的是时间+日期。

三、java.text包下的SimpleDateFormat类:

SimpleDateFormat继承自DateFormat类,

主要功能是:完成日期之间的格式转换。

yyyy:MM:dd,HH:mm:ss:SSS(SSS是毫秒数)

四、java.util包下的Calendar类,(抽象类):

此类实例化有两种方式:

1、Calendar time=new GregorianCalendar();

2、Calendar time =Calendar.getInstance();

此类和日历相关:“YEAR”年,“MONTH”月,“DAY_OF_MONTH”日,"DAY_OF_WEEK"星期,"HOUR"小时。如:

五、java.sql包下的Date类:

只针对SQL语句使用,Date date=new Date();(也就=2017-01-01,没有时间部分)

六、java.sql包下的Time类,

七、java.sql包下的TimeStamp类。

输出结果:

输出结果:

结果:

结果:

结果:

 1 package test;
 2
 3 import java.text.DateFormat;
 4 import java.text.ParseException;
 5 import java.text.SimpleDateFormat;
 6 import java.util.Calendar;
 7 import java.util.Date;
 8 import java.util.GregorianCalendar;
 9
10 public class time {
11     public static void main(String[] args) throws ParseException {
12         // 将当前日期对象转换成毫秒值
13         Date date1 = new Date();
14         Long time1 = date1.getTime();
15         Long time2 = System.currentTimeMillis();// 获取当前时间的毫秒值
16         Calendar cal=Calendar.getInstance();
17         Long caltime=cal.getTimeInMillis();
18         System.out.println("当前日期对象转换成毫秒值:" + time2+"       Calendar类日期转换成毫秒值:"+caltime);
19
20         // 将毫秒值转换成日期对象
21         Date date2 = new Date();
22         Long time3 = System.currentTimeMillis();
23         date2.setTime(time3);
24
25         // 将日期字符串转换成日期对象
26         DateFormat df1 = new SimpleDateFormat("yyyy/MM/dd");
27         Date date3 = df1.parse("2017/01/12");
28         System.out.println("日期字符串转换成日期对象:" + date3);
29
30         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
31         Date date = df.parse("2009-06-12 02:06:37");
32         System.out.println("日期字符串转换成日期格式:" + df.format(date));
33
34         // 将日期对象转换成日期字符串
35         Date datetime = new Date();
36         SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
37         String stringtime = sdf.format(datetime);
38         System.out.println("日期对象转换成日期字符串:" + stringtime);
39
40         Date date4 = new Date();
41         DateFormat df41 = DateFormat.getDateInstance(DateFormat.LONG);
42         DateFormat df42 = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
43         String time4 = df41.format(date4);
44         String time5 = df42.format(date4);
45         System.out.println("getDateInstance时间:" + time4 + "    getDateTimeInstance时间:" + time5);
46
47         Date d = new Date();
48         DateFormat df43 = DateFormat.getDateInstance(DateFormat.FULL);
49         DateFormat df44 = DateFormat.getDateInstance(DateFormat.SHORT);
50         DateFormat df45 = DateFormat.getDateInstance(DateFormat.MEDIUM);
51         String time43 = df43.format(d);
52         String time44 = df44.format(d);
53         String time45 = df45.format(d);
54         System.out.println("FULL类型时间:" + time43);
55         System.out.println("SHORT类型时间:" + time44);
56         System.out.println("MEDIUM类型时间:" + time45);
57
58         // 日历
59         Calendar time = Calendar.getInstance();
60         int year = time.get(Calendar.YEAR);
61         int month = time.get(Calendar.MONTH);
62         int day = time.get(Calendar.DAY_OF_MONTH);
63         int week = time.get(Calendar.DAY_OF_WEEK);
64         int hour = time.get(Calendar.HOUR);
65         System.out.println("当前时间是:" + year + "年" + month + "月" + day + "日,星期" + week + "," + hour + "点");
66     }
67 }
1 当前日期对象转换成毫秒值:1504089815431       Calendar类日期转换成毫秒值:1504089815441
2 日期字符串转换成日期对象:Thu Jan 12 00:00:00 CST 2017
3 日期字符串转换成日期格式:2009-06-12 02:06:37
4 日期对象转换成日期字符串:2017/08/30
5 getDateInstance时间:2017年8月30日    getDateTimeInstance时间:2017年8月30日 下午06时43分35秒
6 FULL类型时间:2017年8月30日 星期三
7 SHORT类型时间:17-8-30
8 MEDIUM类型时间:2017-8-30
9 当前时间是:2017年7月30日,星期4,6点
时间: 2024-08-10 15:10:24

java中时间类型转换的相关文章

java中强制类型转换

在Java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换. 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制转换.因为子类拥有比父类更多的属性.更强的功能,所以父类转换为子类需要强制.那么,是不是只要是父类转换为子类就会成功呢?其实不然,他们之间的强制类型转换是有条件的. 当我们用一个类型的构造器构造出一个对象时,这个对象的类型就已经确定的,也就说它的本质是不会再发生变化了.在Java中我们可以通过

Java中数据类型转换

1.Java的数据类型分为三大类 布尔型,字符型和数值型 其中数值型又分为整型和浮点型 2.Java的变量类型 布尔型 boolean 字符型 char 整型    byte,short,int,long 浮点型 float,double 3.数据类型转换 Java中数据类型转换分为三种,简单数据类型转换,字符串与其他类型转换,其他实用数据类型转换 (1)简单数据类型转换 在Java中,整型,实型,字符型被视为简单数据类型. 这些类型级别从低到高:(byte,short,char)-> int

c#中的里氏转换和Java中强制类型转换在多态中的应用

在c#中: 注意: 子类并没有继承父类的构造函数,而是会默认调用父类那个无参数的构造函数. 如果一个子类继承了一个父类,那么这个子类除了可以使用自己的成员外,还可以使用从父类那里继承过来的成员.但是父类永远都只能使用自己的成员,而不能使用子类的成员. 子类之间也不能互相使用对方的成员. 里氏转换的概念: 1).子类可以赋值给父类 2).如果父类中装的是子类对象,那么可以讲这个父类强转为子类对象. namespace 里氏转换_接口练习 { class Program { static void

Java中数据类型转换大全(个人总结)

一.字符串转换为其他类型 1.将字符串转化为int型 (1)方法一 int i = Integer.parseInt(String str); (2)方法二 int i = Integer.valueOf(String str).intValue(); 注:Integer.parseInt和 Integer.valueOf 不同,前者生成的是整型,而后者是一个对象,所以要通过intValue()来获得对象的值: 字串转成 Double, Float, Long 的方法大同小异. 2.将字符串转化

解密Java中的类型转换问题

众所周知Java中的数据类型是强数据类型,基本数据类型之间的转换尤其固定的规则,当数据宽度比较窄的数据类型(如int)转换成数据类型比较宽的数据类型时(如double),则窄的数据类型会加宽,可以完成自动类型转换,这称为隐式转换. 如:以下代码没有任何问题,结果也是正确的,成绩不会发生变化,所不同的是成绩的精度提高了. intintScore = 96; doubledoubleScore = intScore; 那么如果试图把宽的数据类型(如double)转换成窄的数据类型(如float)时,

Java中数据类型转换问题

boolean类型不可以转换为替他的数据类型. Java中byte(8位).short(16位).char三种类型的优先级是相同的,相同优先级之间是不能进行自动转换的(如果相互转换的话,必须强制类型转换),只能将低类型自动转换为高类型,例如,可以将byte自动转换为int类型.(char 在java中是2个字节.java采用unicode,2个字节(16位)来表示一个字符. 再将char类型的数据赋给高优先级类型时,这时会自动类型转换,并且将该char的unicode编码赋给高优先级类型的变量)

JAVA中的类型转换

JAVA中类型转换的基本原则在于,(布尔型除外,无法转换)低精确度或者说小范围的类型可以自动地转为高精度或者大范围的类型,反之则需要强制转换.如图所示,左边的类型可以自动转换为右边的类型(一般发生在与大范围的类型的运算中),反之则需要强制转换. 图片来源(http://www.cnblogs.com/lwbqqyumidi/p/3700164.html) 如下题LeetCode 400. Nth Digit中,第七行会报错,可以看到count是long,len是int,两数相乘时len会自动变为

Java基础知识强化22:Java中数据类型转换

数据类型转换: (1). 自动转换 低级变量可以直接转换为高级变量,这叫自动类型转换.比如: byte b: int b:  long b:  float b:   double  b: 上面的语句可以在Java中直接通过. (2).如果低级类型为char型,向高级类型(整型)转换时候,会转换为对应的ASCII码值,例如: char c ='c':  int i = c:  System.out.println("output:"+i): 输出: output:99 (3).对于byt

Java基础---Java中自动类型转换(七)

Java中的自动类型转换 在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换.例如: , 代码中 int 型变量 score1 可以直接为 double 型变量 score2 完成赋值操作,运行结果为: 这种转换称为自动类型转换. 当然自动类型转换是需要满足特定的条件的: 1.  目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型 2.  目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,