import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

/**

* 时间处理类

* @author Alan

* @version 2013-7-26

*/

public class TimeUtil {

private Calendar calendar=Calendar.getInstance();

/**

* 得到当前的时间,时间格式yyyy-MM-dd

* @return

*/

public String getCurrentDate(){

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

return sdf.format(new Date());

}

/**

* 得到当前的时间,自定义时间格式

* y 年 M 月 d 日 H 时 m 分 s 秒

* @param dateFormat 输出显示的时间格式

* @return

*/

public String getCurrentDate(String dateFormat){

SimpleDateFormat sdf=new SimpleDateFormat(dateFormat);

return sdf.format(new Date());

}

/**

* 日期格式化,默认日期格式yyyy-MM-dd

* @param date

* @return

*/

public String getFormatDate(Date date){

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

return sdf.format(date);

}

/**

* 日期格式化,自定义输出日期格式

* @param date

* @return

*/

public String getFormatDate(Date date,String dateFormat){

SimpleDateFormat sdf=new SimpleDateFormat(dateFormat);

return sdf.format(date);

}

/**

* 返回当前日期的前一个时间日期,amount为正数 当前时间后的时间 为负数 当前时间前的时间

* 默认日期格式yyyy-MM-dd

* @param field 日历字段

* y 年 M 月 d 日 H 时 m 分 s 秒

* @param amount 数量

* @return 一个日期

*/

public String getPreDate(String field,int amount){

calendar.setTime(new Date());

if(field!=null&&!field.equals("")){

if(field.equals("y")){

calendar.add(calendar.YEAR, amount);

}else if(field.equals("M")){

calendar.add(calendar.MONTH, amount);

}else if(field.equals("d")){

calendar.add(calendar.DAY_OF_MONTH, amount);

}else if(field.equals("H")){

calendar.add(calendar.HOUR, amount);

}

}else{

return null;

}

return getFormatDate(calendar.getTime());

}

/**

* 某一个日期的前一个日期

* @param d,某一个日期

* @param field 日历字段

* y 年 M 月 d 日 H 时 m 分 s 秒

* @param amount 数量

* @return 一个日期

*/

public String getPreDate(Date date,String field,int amount){

calendar.setTime(date);

if(field!=null&&!field.equals("")){

if(field.equals("y")){

calendar.add(calendar.YEAR, amount);

}else if(field.equals("M")){

calendar.add(calendar.MONTH, amount);

}else if(field.equals("d")){

calendar.add(calendar.DAY_OF_MONTH, amount);

}else if(field.equals("H")){

calendar.add(calendar.HOUR, amount);

}

}else{

return null;

}

return getFormatDate(calendar.getTime());

}

/**

* 某一个时间的前一个时间

* @param date

* @return

* @throws ParseException

*/

public String getPreDate(String date) throws ParseException{

Date d=new SimpleDateFormat().parse(date);

String preD=getPreDate(d,"d",1);

Date preDate=new SimpleDateFormat().parse(preD);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

return sdf.format(preDate);

}

}

java中的时间片概念_java中常用的时间处理类TimeUtil相关推荐

  1. Java NIO_I/O基本概念_Java中的缓冲区(Buffer)_通道(Channel)_网络I/O

    I/O基本概念 缓冲区基础 缓冲区是I/O的基础, 进程使用read(), write()将数据读出/写入从缓冲区中; 当缓冲区写满, 内核向磁盘发出指令, 将缓冲区中数据写入磁盘中(这一步不需要CP ...

  2. Java三层结构的概念_Java中的mvc和三层结构究竟是什么关系

    原标题:Java中的mvc和三层结构究竟是什么关系 一件事,要知其然往往很简单,要知其所以然通常不是那么容易,就如最近重新巩固spring的过程中,就觉得还有许多问题其实并不是十分明了. 屈指一算,手 ...

  3. Java中 LocalDate、LocalTime、LocalDateTime三个时间工具类的使用介绍

    Java中 LocalDate.LocalTime.LocalDateTime三个时间工具类的使用介绍 一.背景: 之前在做项目的过程中,对日期时间类没有一个系统的了解,总是在用的时候去搜索一下,解决 ...

  4. java io 创建文件夹_Java中Io流操作-File类的常用操作-创建文件,创建文件夹

    package com.hxzy.IOSer; import java.io.File; import java.io.IOException; public class Demo03 { publi ...

  5. java怎么无参构造方法_Java中如何在无参构造方法中调用有参构造?

    展开全部 一般正常的都是参数多的调用参数少的.有参数的调用无参数的居e68a843231313335323631343130323136353331333365643537多. 当然你要无参调用的参的 ...

  6. java中注解的使用_java中注解的使用

    使用过ssh框架的人一定也使用过注解,尤其是在spring框架中,注解可谓是spring容器和AOP编程的重要环节.注解就是用于修饰类.全局变量.方法.参数或局部变量的接口,java中规定,注解的使用 ...

  7. java 基本类型的引用_Java中的基本数据类型与引用数据类型

    一.基本数据类型 byte.short.int.long(整数类型) float.double(浮点数类型) char(字符型) boolean(布尔类型 ) Java数据大多数存放在堆栈中.栈区:存 ...

  8. java原始类型和引用类型_Java中的8种原始类型

    java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...

  9. java中缓冲区和缓存_Java中的Google协议缓冲区

    java中缓冲区和缓存 总览 协议缓冲区是一种用于结构化数据的开源编码机制. 它是由Google开发的,旨在实现语言/平台中立且可扩展. 在本文中,我的目的是介绍Java平台上下文中协议缓冲区的基本用 ...

  10. java中访问修饰符_Java中的访问修饰符介绍

    java中访问修饰符 什么是访问修饰符? (What are Access Modifiers?) Have you ever wanted to define how people would ac ...

最新文章

  1. 使用bottle进行web开发:get的参数传递,form数据传递等
  2. ESPNet系列:自动驾驶领域轻量级分割模型
  3. Android Design Support Library初探-更新中
  4. test2 3-16 2021 模拟赛two
  5. 《快速软件开发》概要
  6. Android开发笔记(一百三十)截图和录屏
  7. oracle 得到父节点和子节点
  8. LINUX Centos7利用七牛空间做定时备份 qshell定时备份,定时上传到七牛空间
  9. 树莓派保持网络连接shell脚本
  10. 基于MicroPython实现ESP32+SSD1306的小恐龙游戏
  11. win10很多软件显示模糊_win10系统字体模糊的解决方法
  12. HihoCoder 1838 贪心
  13. 谷歌退出中国市场传言推动百度股价大涨4.8%【转载】
  14. 什么是第三方支付?第三方支付流程
  15. C语言运行时间过长假死,解决xcode打开时loading假死的问题
  16. ☀️光天化日学C语言☀️(09)- 算术运算符 | 小学就会了?温故而知新,可以为师矣!
  17. 外星人显卡拓展坞支持linux,今天,你给信仰充值了么?ALIENWARE 外星人 显卡扩展坞 简单开箱...
  18. T00LS MSF笔记
  19. java8学习整理二
  20. Python数据分析之pandas(保姆级教程)

热门文章

  1. 关于ES6 Class语法相关总结
  2. Java面向对象总复习-QuickHit
  3. 搭建代码审查系统Gerrit
  4. 一段挺有用的小SCRIPT
  5. ThreadGroup(线程组)
  6. java 整型 二进制_Java中如何得到一个整型数的二进制形式(十进制转化成二进制)...
  7. JAVA中Random分析
  8. 如何终止运行中的线程
  9. springcloud之feign远程调用
  10. URL任何获取html form的提交值