时间工具类[DateUtil]

ExpandedBlockStart.gifView Code
  1 package com.ly.util;
  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 
  9 /**
 10  * 
 11  * 功能描述
 12  * 
 13  * @author Administrator
 14  * @Date Jul 19, 2008
 15  * @Time 9:47:53 AM
 16  * @version 1.0
 17  */
 18 public class DateUtil {
 19 
 20     public static Date date = null;
 21 
 22     public static DateFormat dateFormat = null;
 23 
 24     public static Calendar calendar = null;
 25     
 26     
 27     /**
 28      * 英文简写(默认)如:2010-12-01
 29      */
 30     public static String FORMAT_SHORT = "yyyy-MM-dd";
 31     
 32     /**
 33      * 英文全称  如:2010-12-01 23:15:06
 34      */
 35     public static String FORMAT_LONG = "yyyy-MM-dd HH:mm:ss";
 36     
 37     /**
 38      * 精确到毫秒的完整时间    如:yyyy-MM-dd HH:mm:ss.S
 39      */
 40     public static String FORMAT_FULL = "yyyy-MM-dd HH:mm:ss.S";
 41     
 42     /**
 43      * 中文简写  如:2010年12月01日
 44      */
 45     public static String FORMAT_SHORT_CN = "yyyy年MM月dd";
 46     
 47     /**
 48      * 中文全称  如:2010年12月01日  23时15分06秒
 49      */
 50     public static String FORMAT_LONG_CN = "yyyy年MM月dd日  HH时mm分ss秒";
 51     
 52     /**
 53      * 精确到毫秒的完整中文时间
 54      */
 55     public static String FORMAT_FULL_CN = "yyyy年MM月dd日  HH时mm分ss秒SSS毫秒";
 56 
 57     /**
 58      * 获得默认的 date pattern
 59      */
 60     public static String getDatePattern() {
 61         return FORMAT_LONG;
 62     }
 63 
 64     /**
 65      * 根据预设格式返回当前日期
 66      * @return
 67      */
 68     public static String getNow() {
 69         return format(new Date());
 70     }
 71     
 72     /**
 73      * 根据用户格式返回当前日期
 74      * @param format
 75      * @return
 76      */
 77     public static String getNow(String format) {
 78         return format(new Date(), format);
 79     }
 80 
 81     
 82     /**
 83      * 使用预设格式格式化日期
 84      * @param date
 85      * @return
 86      */
 87     public static String format(Date date) {
 88         return format(date, getDatePattern());
 89     }
 90 
 91     /**
 92      * 使用用户格式格式化日期
 93      * @param date 日期
 94      * @param pattern 日期格式
 95      * @return
 96      */
 97     public static String format(Date date, String pattern) {
 98         String returnValue = "";
 99         if (date != null) {
100             SimpleDateFormat df = new SimpleDateFormat(pattern);
101             returnValue = df.format(date);
102         }
103         return (returnValue);
104     }
105 
106     /**
107      * 使用预设格式提取字符串日期
108      * @param strDate 日期字符串
109      * @return
110      */
111     public static Date parse(String strDate) {
112         return parse(strDate, getDatePattern());
113     }
114 
115     /**
116      * 使用用户格式提取字符串日期
117      * @param strDate 日期字符串
118      * @param pattern 日期格式
119      * @return
120      */
121     public static Date parse(String strDate, String pattern) {
122         SimpleDateFormat df = new SimpleDateFormat(pattern);
123         try {
124             return df.parse(strDate);
125         } catch (ParseException e) {
126             e.printStackTrace();
127             return null;
128         }
129     }
130 
131     /**
132      * 在日期上增加数个整月
133      * @param date 日期
134      * @param n 要增加的月数
135      * @return
136      */
137     public static Date addMonth(Date date, int n) {
138         Calendar cal = Calendar.getInstance();
139         cal.setTime(date);
140         cal.add(Calendar.MONTH, n);
141         return cal.getTime();
142     }
143 
144     /**
145      * 在日期上增加天数
146      * @param date 日期
147      * @param n 要增加的天数
148      * @return
149      */
150     public static Date addDay(Date date, int n) {
151         Calendar cal = Calendar.getInstance();
152         cal.setTime(date);
153         cal.add(Calendar.DATE, n);
154         return cal.getTime();
155     }
156     
157     /**
158      * 获取距现在某一小时的时刻
159      * @param format 格式化时间的格式
160      * @param h    距现在的小时 例如:h=-1为上一个小时,h=1为下一个小时
161      * @return
162      */
163     public static String getpreHour(String format, int h){
164         SimpleDateFormat sdf = new SimpleDateFormat(format);
165         Date date = new Date();
166         date.setTime(date.getTime()+h*60*60*1000);
167         return sdf.format(date);
168     }
169     /**
170      * 获取时间戳
171      */
172     public static String getTimeString() {
173         SimpleDateFormat df = new SimpleDateFormat(FORMAT_FULL);
174         Calendar calendar = Calendar.getInstance();
175         return df.format(calendar.getTime());
176     }
177 
178     /**
179      * 获取日期年份
180      * @param date 日期
181      * @return
182      */
183     public static String getYear(Date date) {
184         return format(date).substring(0, 4);
185     }
186     /**
187      * 功能描述:返回月
188      * 
189      * @param date
190      *            Date 日期
191      * @return 返回月份
192      */
193     public static int getMonth(Date date) {
194         calendar = Calendar.getInstance();
195         calendar.setTime(date);
196         return calendar.get(Calendar.MONTH) + 1;
197     }
198 
199     /**
200      * 功能描述:返回日
201      * 
202      * @param date
203      *            Date 日期
204      * @return 返回日份
205      */
206     public static int getDay(Date date) {
207         calendar = Calendar.getInstance();
208         calendar.setTime(date);
209         return calendar.get(Calendar.DAY_OF_MONTH);
210     }
211 
212     /**
213      * 功能描述:返回小
214      * 
215      * @param date
216      *            日期
217      * @return 返回小时
218      */
219     public static int getHour(Date date) {
220         calendar = Calendar.getInstance();
221         calendar.setTime(date);
222         return calendar.get(Calendar.HOUR_OF_DAY);
223     }
224 
225     /**
226      * 功能描述:返回分
227      * 
228      * @param date
229      *            日期
230      * @return 返回分钟
231      */
232     public static int getMinute(Date date) {
233         calendar = Calendar.getInstance();
234         calendar.setTime(date);
235         return calendar.get(Calendar.MINUTE);
236     }
237 
238     /**
239      * 返回秒钟
240      * 
241      * @param date
242      *            Date 日期
243      * @return 返回秒钟
244      */
245     public static int getSecond(Date date) {
246         calendar = Calendar.getInstance();
247         calendar.setTime(date);
248         return calendar.get(Calendar.SECOND);
249     }
250 
251     /**
252      * 功能描述:返回毫
253      * 
254      * @param date
255      *            日期
256      * @return 返回毫
257      */
258     public static long getMillis(Date date) {
259         calendar = Calendar.getInstance();
260         calendar.setTime(date);
261         return calendar.getTimeInMillis();
262     }
263     /**
264      * 按默认格式的字符串距离今天的天数
265      * @param date 日期字符串
266      * @return
267      */
268     public static int countDays (String date) {
269         long t = Calendar.getInstance().getTime().getTime();
270         Calendar c = Calendar.getInstance();
271         c.setTime(parse(date));
272         long t1 = c.getTime().getTime();
273         return (int)(t/1000 - t1/1000)/3600/24;
274     }
275     
276     /**
277      * 按用户格式字符串距离今天的天数
278      * @param date 日期字符串
279      * @param format 日期格式
280      * @return
281      */
282     public static int countDays (String date, String format) {
283         long t = Calendar.getInstance().getTime().getTime();
284         Calendar c = Calendar.getInstance();
285         c.setTime(parse(date, format));
286         long t1 = c.getTime().getTime();
287         return (int)(t/1000 - t1/1000)/3600/24;
288     }
289 
290 }

转载于:https://www.cnblogs.com/Jeanferly/archive/2012/03/27/2419078.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/377618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode 45. 跳跃游戏 II 思考分析

题目 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 …

一、爬虫基本概念

一、爬虫根据使用场景分类 爬虫: 通过编写程序,模拟浏览器上网,让其去互联网上抓取数据的过程。 ① 通用爬虫:抓取系统重要的组成部分,抓取的是一整张页面的数据 ② 聚焦爬虫:建立在通用爬虫的基础之上&am…

经营你的iOS应用日志(二):异常日志

如果你去4S店修车,给小工说你的车哪天怎么样怎么样了,小工有可能会立即搬出一台电脑,插上行车电脑把日志打出来,然后告诉你你的车发生过什么故障。汽车尚且如此,何况移动互联网应用呢。 本文第一篇:经营你的…

Discuz 升级X3问题汇总整理

最近一段时间公司的社区垃圾帖数量陡然上涨,以至于社区首页的推荐版块满满都是垃圾帖的身影,为了进一步解决垃圾帖问题我们整整花了1天时间删垃圾贴,清除不良用户,删的手都酸了,可见垃圾帖的数量之多!可耻的…

【C++grammar】格式化输出与I/O流函数

目录1、格式化输出1. setw manipulator(“设置域宽”控制符)2. setprecision manipulator(“设置浮点精度”控制符)3. setfill manipulator(“设置填充字符”控制符)4. Formatting Output in File Operation(在文件操作中格式化输入/输出)5.小练习2、用于输入/输出流的函数1. g…

三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)

在第一篇博文中也提及到User-Agent,表示请求载体的身份,也就是说明通过什么浏览器进行访问服务器的,这一点很重要。 ① UA检测 门户网站服务器会检测请求载体的身份。如果检测到载体的身份表示为某一款浏览器的请求,则说明这是一…

硕士毕业后去国外读法学博士_法学硕士的完整形式是什么?

硕士毕业后去国外读法学博士法学硕士:豆科大法师(拉丁)/法学硕士 (LLM: Legum Magister (Latin)/ Master of Law) LLM is an abbreviation of Legum Magister. It is in term of Latin which states the masters degree of Law. In the majority, LLM is generally …

android:layout_weight属性的简单使用

效果&#xff1a; style.xml <style name"etStyle2"><item name"android:layout_width">match_parent</item><item name"android:layout_height">wrap_content</item><item name"android:background"…

一、环境配置安装

一、Anaconda Ⅰ下载 最新版的anaconda可能会需要各种各样的问题&#xff0c;python3.6版本比较稳定&#xff0c;建议使用。 老铁们可以通过&#xff0c;Anaconda以前版本所自带Python版本&#xff0c;查看Anaconda所带的python版本 我用的是这个&#xff0c;Anaconda3-5.2.0…

二、PyTorch加载数据

一、常用的两个函数 dir()函数可以理解为打开某个包&#xff0c;help()可以理解为返回如何使用某个具体的方法 例如&#xff1a;若一个A钱包里面有a&#xff0c;b&#xff0c;c&#xff0c;d四个小包&#xff0c;则可通过dir(A)&#xff0c;打开该A钱包&#xff0c;返回a&…

leetcode 1005. K 次取反后最大化的数组和 思考分析

题目 给定一个整数数组 A&#xff0c;我们只能用以下方法修改该数组&#xff1a;我们选择某个索引 i 并将 A[i] 替换为 -A[i]&#xff0c;然后总共重复这个过程 K 次。&#xff08;我们可以多次选择同一个索引 i。&#xff09; 以这种方式修改数组后&#xff0c;返回数组可能…

三、TensorBoard

一、安装TensorBoard 管理员身份运行Anaconda Prompt&#xff0c;进入自己的环境环境 conda activate y_pytorch&#xff0c;pip install tensorboard 进行下载&#xff0c;也可以通过conda install tensorboard进行下载。其实通俗点&#xff0c;pip相当于菜市场&#xff0c;c…

详细讲解设计跳表的三个步骤(查找、插入、删除)

目录写在前面跳表概要查找步骤插入步骤删除步骤完整代码写在前面 关于跳表的一些知识可以参考这篇文章,最好是先看完这篇文章再看详细的思路->代码的复现步骤: Redis内部数据结构详解(6)——skiplist 关于跳表的插入、删除基本操作其实也就是链表的插入和删除&#xff0c;所…

php 类静态变量 和 常量消耗内存及时间对比

在对类执行100w次循环后&#xff0c; 常量最快&#xff0c;变量其次&#xff0c;静态变量消耗时间最高 其中&#xff1a; 常量消耗&#xff1a;101.1739毫秒 变量消耗&#xff1a;2039.7689毫秒 静态变量消耗&#xff1a;4084.8911毫秒 测试代码&#xff1a; class Timer_profi…

一个机器周期 计算机_计算机科学组织| 机器周期

一个机器周期 计算机机器周期 (Machine Cycle) The cycle during which a machine language instruction is executed by the processor of the computer system is known as the machine cycle. If a program contains 10 machine language instruction, 10 separate machine …

四、Transforms

transform是torchvision下的一个.py文件&#xff0c;这个python文件中定义了很多的类和方法&#xff0c;主要实现对图片进行一些变换操作 一、Transforms讲解 from torchvision import transforms#按着Ctrl&#xff0c;点击transforms进入到__init__.py文件中 from .transfo…

五、torchvision

一、下载CIFAR-10数据集 CIFAR-10数据集官网 通过阅读官网给的解释可以大概了解到&#xff0c;一共6w张图片&#xff0c;每张图片大小为3232&#xff0c;5w张训练图像&#xff0c;1w张测试图像&#xff0c;一共由十大类图像。 CIFAR10官网使用文档 torchvision.datasets.CIF…

转 设计师也需要了解的一些前端知识

一、常见视觉效果是如何实现的 一些事 关于文字效果 互联网的一些事 文字自身属性相关的效果css中都是有相对应的样式的&#xff0c;如字号、行高、加粗、倾斜、下划线等&#xff0c;但是一些特殊的效果&#xff0c;主要表现为ps中图层样式中的效果&#xff0c;css是无能为力的…

六、DataLoader

一、DataLoader参数解析 DataLoader官网使用手册 参数描述dataset说明数据集所在的位置、数据总数等batch_size每次取多少张图片shuffleTrue乱序、False顺序(默认)samplerbatch_samplernum_workers多进程&#xff0c;默认为0采用主进程加载数据collate_fnpin_memorydrop_las…

七、torch.nn

一、神经网络模块 进入到PyTorch的torch.nnAPI学习页面 PyTorch提供了很多的神经网络方面的模块&#xff0c;NN就是Neural Networks的简称 二、Containers torch.nn下的Containers 一共有六个模块&#xff0c;最常用的就是Module模块&#xff0c;看解释可以知道&#xff0c…