• Java的几种时间


    别废话,看代码实例!

     1 import java.util.Calendar;
     2 import java.util.Date;
     3 
     4 //import java.sql.Date;
     5 import java.sql.Timestamp; //extends from java.util.Date,指的是实现继承,而不是类型继承
     6 
     7 import java.text.SimpleDateFormat;
     8 import java.text.ParseException;
     9 import java.text.DateFormat;
    10 
    11 public class JavaTime{
    12     public static void main(String[] args) throws ParseException{
    13 
    14         /*String*/
    15         String dt = new String();
    16         dt="2018-09-06 14:29:12";
    17         System.out.println(dt);
    18 
    19         String dt2 = new String("2018-09-06 14:29:12"); 
    20         System.out.println(dt2);
    21 
    22         String dt3 = "2018-09-06 14:29:12"; 
    23         System.out.println(dt3);
    24 
    25         String dt4=String.valueOf(80);
    26         System.out.println(dt4);
    27         System.out.println(dt4.toString());
    28 
    29         /*Calendar*/
    30         //Calendar calendar = new Calendar(); Calendar是抽象类,无法
    31         Calendar curTime=Calendar.getInstance();//创建系统当前日期时间的对象,默认是当前日期
    32         System.out.println(curTime); 
    33         /*java.util.GregorianCalendar[
    34         time=1536219794331,areFieldsSet=true,areAllFieldsSet=true,lenient=true,
    35         zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,
    36         useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,
    37         YEAR=2018,MONTH=8,WEEK_OF_YEAR=36,WEEK_OF_MONTH=2,DAY_OF_MONTH=6,DAY_OF_YEAR=249,DAY_OF_WEEK=5,
    38         DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=3,HOUR_OF_DAY=15,MINUTE=43,SECOND=14,MILLISECOND=331,
    39         ZONE_OFFSET=28800000,DST_OFFSET=0]*/
    40         int year=curTime.get(Calendar.YEAR);
    41         int month=curTime.get(Calendar.MONTH)+1;  //Calender的月份是从0开始的,但日期和年份是从1开始的    
    42         //日期的加减运算就是借助Calendar类
    43         Date dateCal=curTime.getTime();//返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象
    44         System.out.println(dateCal);//Thu Sep 06 15:57:40 CST 2018
    45         curTime.add(Calendar.MONTH,2);
    46         System.out.println(curTime.getTime());//Tue Nov 06 16:01:05 CST 2018 加2个月变成11月份
    47 
    48         System.out.println();
    49         /*Date*/
    50         Date date = new Date();
    51         System.out.println(date); //等同System.out.println(date.toString()),建议用toString()方法,易于理解,Date格式:Thu Sep 06 15:35:43 CST 2018
    52         System.out.println(date.getTime()); //返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数(Long类型)。
    53         System.out.println(date.toString()); //时间是固定的字符串形式 Thu Sep 06 15:35:43 CST 2018
    54         
    55         //快速提取熟悉的时间格式
    56         System.out.println(DateFormat.getDateInstance().format(date));  //2018-9-6
    57         System.out.println(DateFormat.getDateInstance(DateFormat.FULL).format(date));  //2018年9月6日 星期四
    58         
    59 
    60         System.out.println();
    61 
    62         /*SimpleDateFormat*/
    63         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //解析字符串,格式需要与解析的 时间字符串  保持一致
    64         Date dtDate=format.parse(dt);  //parse是将 时间字符串(String)  转为 Date类的引用类型(Date)
    65         System.out.println(dtDate.toString());//Thu Sep 06 14:29:12 CST 2018
    66 
    67         String dtString=format.format(dtDate);//format是将 Date类的类型(DAte) 转为  时间字符串 (String)
    68         System.out.println(dtString);//2018-09-06 14:29:12
    69 
    70         Timestamp dateTimestamp=new Timestamp(dtDate.getTime());//Timestamp(long time)  使用毫秒时间值构造 Timestamp 对象。
    71         System.out.println(dateTimestamp); //2018-09-06 14:29:12.0
    72 
    73         Timestamp dateTimestamp2=Timestamp.valueOf(dtString);
    74         System.out.println(dateTimestamp2);
    75         System.out.println(dateTimestamp2.getTime());//返回此 Timestamp 对象表示的自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。
    76 
    77     }
    78 
    79 }
  • 相关阅读:
    Java 之SpringBoot+Vue实现后台管理系统的开发
    保证接口数据安全的10种方式
    连八股文都不懂还指望在前端混下去么
    2020年2月面试题100+大全(合适各级Java人员)
    Java8 Stream源码精讲(一):从一个简单的例子入手
    Java8新特性Lambda表达式
    Java高级面试题及答案
    切片 零值 浅拷贝 泄露 扩容
    @ConfigurationProperties使用及与@Value对比
    JSON中的JSON.parseArray()方法
  • 原文地址:https://www.cnblogs.com/leeyuki/p/9599142.html
Copyright © 2020-2023  润新知