最近项目设计时间的转换和计算,长时间没用时间操作了,感觉手有点生,所以在这里记录一下:

Date 常用的方法: getTime() 、setTime();

SimpleDateFormate 常用的方法:  Formate(Date)、 parse(String s);

Calendar常用的方法:getInstance()、set() 、get()、getActualMaximum()、add()、 gettime()、setTime(Date)。

1.Date date =new Date();//新建时间为当前系统时间

long time =date.getTime();//将时间格式转换long格式

time = time+24*60*60*1000;
   date.setTime(time);//将long格式转换为date格式

2.SimpleDateFormat:格式化和解析日期的具体类

String StrD ="2017-06-14 21:02:45";

//yyyy:2017年; MM:06月; dd:14日 HH:21(24小时制,hh:09 12小时 制)     mm:02分 ss:45秒

SimpleDateFormat sdfd =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date dat =sdfd.parse(StrD);//将字符换转换为Date

String Dstr=sdfd.format(dat);//将Date转换为对应格式的字符串

3.Calendar是抽象类,其提供了一个工厂方法:Calendar getInstance()。该方法可以根据当前系统所在地区获取一个适当的Calendar的子类实现。

A.Calendar calendar  = Calendar.getInstance();//默认创建calendar表示的是当前系统的时间

String className =calendar.getClass().getName();
    System.out.println(className);//输出的是java.util.GregorianCalendar 的toString返回值

Date date =calendar.getTime();//获取Date类型的时间

B.Calendar calendar = Calendar.getInstance();//通过下边操作设置为2017-12-25
      calendar.set(Calendar.YEAR,2017);
     calendar.set(Calendar.MONTH,11);

calendar.set(Calendar.DATE,25);
     //calendar.set(Calendar.DAY_OF_MONTH, 25);//和上边效果一样

//calendar.set(Calendar.DATE,32);//则变为2018-01-01

C.int weekIndex= calendar.get(Calendar.DAY_OF_WEEK);//周几减一(西方周日为1,周一为2)

int hourIndex=calendar.get(Calendar.HOUR_OF_DAY);//24小时制

int hourIndexs=calendar.get(Calendar.HOUR);//12小时制

int minute=calendar.get(Calendar.MINUTE);//分

int second=calendar.get(Calendar.SECOND);//秒

int days=calendar.get(Calendar.DAY_OF_YEAR);//是一年中的第几天

D. int dayss =calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//这个月最多多少天

int yeardays =calendar.getActualMaximum(Calendar.DAY_OF_YEAR);//这个月最多多少天

E./*
      * 当前日期加1
      */
      calendar.add(Calendar.DAY_OF_YEAR, 1);
      //加两年
      calendar.add(Calendar.YEAR, 2);
        
      //加到32 自动切换
      calendar.add(Calendar.DAY_OF_YEAR, 11);
        
       //减去12小时
       calendar.add(Calendar.HOUR_OF_DAY, 12);

F. Calendar calendar.setTime(date);//将date转换为calendar

Date date= calendar.getTime();//将calendar 转换为date

当前笔者水平有限,难免出现错误,还望大家提出宝贵意见!

java中常用的时间操作的更多相关文章

  1. python中常用的时间操作

    python中常用的时间模块有time和datetime,以下是这两个模块中常用的方法: #先引入模块 import timefrom datetime import datetiem, timezo ...

  2. JAVA一些常用的时间操作

    项目中经常有对时间进行处理的需求,下面是一些常用的操作整理,方便以后再次使用以及做相关复习. 1.字符串转换为日期 /** * 字符串转换为日期 * @param dateStr 需要转换的日期 * ...

  3. Java中常用的七个阻塞队列第二篇DelayQueue源码介绍

    Java中常用的七个阻塞队列第二篇DelayQueue源码介绍 通过前面两篇文章,我们对队列有了了解及已经认识了常用阻塞队列中的三个了.本篇我们继续介绍剩下的几个队列. 本文主要内容:通过源码学习De ...

  4. Java中常用七个阻塞队列的总结

    Java队列总结 通过前面文章的学习,我们对Java中常用队列做了介绍.本文,咱们来对队列做个总结吧. 首先,我们介绍了现实生活中的实际场景(排队买票等),来告诉我们为什么需要使用队列. 队列是一种先 ...

  5. java中常用的工具类(三)

    继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类       ...

  6. java中常用的工具类(二)

    下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil           Java   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  7. java中常用的工具类(一)

    我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...

  8. Java中常用的运算符

    运算符是一种“功能”符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运算符 Java 中常 ...

  9. Java高级特性 第2节 java中常用的实用类(1)

    一.Java API Java API即Java应用程序编程接口,他是运行库的集合,预先定义了一些接口和类,程序员可以直接调用:此外也特指API的说明文档,也称帮助文档. Java中常用的包: jav ...

随机推荐

  1. jedis提纲

    A01 - jedis库介绍 A01 - 在多线程下使用Jedis A01 - Jedis的八种调用方式   A02 - API使用文档 A02 - Jedis代码编程使用(简单的使用)   A03 ...

  2. JavaScriptSerializer 日期处理 JSON.Net

    [WebMethod(Description = "取得所有人员 自带json")] [SoapHeader("key")] [ScriptMethod(Res ...

  3. uva 1025 A Spy int the Metro

    https://vjudge.net/problem/UVA-1025 看见spy忍俊不禁的想起省赛时不知道spy啥意思 ( >_< f[i][j]表示i时刻处于j站所需的最少等待时间,有 ...

  4. run as android application过程

    1.打包 >> 把所有的class打包成为classes.dex >> AndroidManifest.xml 打包成二进制文件 >> res目录下面的文件打包到r ...

  5. LeetCode OJ:Binary Tree Right Side View(右侧视角下的二叉树)

    Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...

  6. 速记JVM内存模型和垃圾回收策略

    一.常用JVM参数 -Xms: 初始堆大小 -Xmx: 最大堆-Xmn: 新生代大小 -Xss: 栈容量 -PermSize: 方法区大小 -MaxPermSize: 最大方法区大小 -MaxDire ...

  7. 常用服务搭建(nfs/ftp/samba)

    一. NFS1. NFS简介NFS全称是network file systemNFS允许一个系统在网络上与他人共享目录和文件.通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件. 假 ...

  8. cscope配置和使用

    , cscope安装 软件下载:http://sourceforge.net/project/showfiles.php?group_id=4664 软件安装: ./configure --with- ...

  9. 如果两个人,两台电脑同时登录同一个帐号,同时对同一个账单提交,账单同时被服务器处理,那服务器应该先处理谁的,或者怎么规避这个问题。 非单点登录,重定向,stoken拦截器的问题

    方法一:给用户设置个状态 服务器端坐标记,比如数据库中增加一列,标识是否登陆,登录时先判断这个就行了,不过要考虑非正常退出的情况 http 方法二:在用户表里面 多加一个状态字段,登录成功 改变状态  ...

  10. myeclipse2014中如何安装freeMarker插件(支持ftl语法高亮)

    MyEcplise2014安装Freemarker插件(支持.ftl文件) 1.下载插件:http://sourceforge.net/projects/freemarker-ide/?source= ...