java获取当前时间的方式【转】


  1 import java.sql.Timestamp;
2 import java.text.ParsePosition;
3 import java.text.SimpleDateFormat;
4 import java.util.Date;
5
6 import com.ttsoft.framework.util.DateUtil;
7
8 /**
9 * Title: 时间获取
10 * Description: 当前时间
11 * Copyright: Copyright 2010
12 * Company:
13 * @author jiq
14 * @version 1.0
15 */
16 public class XJPDateUtil extends DateUtil {
17 public static final String[] months = { "一月", "二月", "三月", "四月", "五月", "六月",
18 "七月", "八月", "九月", "十月", "十一月", "十二月", };
19
20 public static final String[] quarters = { "一季度", "二季度", "三季度", "四季度" };
21
22 public XJPDateUtil() {
23 }
24
25 /**
26 * 获取日期字符串。
27 *
28 * <pre>
29 * 日期字符串格式: yyyyMMdd
30 * 其中:
31 * yyyy 表示4位年。
32 * MM 表示2位月。
33 * dd 表示2位日。
34 * </pre>
35 *
36 * @return String "yyyyMMdd"格式的日期字符串。
37 */
38 public static String getDate() {
39 SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
40
41 return formatter.format(new Date());
42 }
43
44 /**
45 * 获取当前年度字符串。
46 *
47 * <pre>
48 * 日期字符串格式: yyyy
49 * 其中:
50 * yyyy 表示4位年。
51 * </pre>
52 *
53 * @return String "yyyy"格式的当前年度字符串。
54 */
55 public static String getNowYear() {
56 SimpleDateFormat formatter = new SimpleDateFormat("yyyy");
57
58 return formatter.format(new Date());
59 }
60
61 /**
62 * 获取当前月度字符串。
63 *
64 * <pre>
65 * 日期字符串格式: MM
66 * 其中:
67 * MM 表示4位年。
68 * </pre>
69 *
70 * @return String "yyyy"格式的当前月度字符串。
71 */
72 public static String getNowMonth() {
73 SimpleDateFormat formatter = new SimpleDateFormat("MM");
74
75 return formatter.format(new Date());
76 }
77
78 /**
79 * 获取当前月度字符串。
80 *
81 * <pre>
82 * 日期字符串格式: dd
83 * 其中:
84 * dd 表示4位年。
85 * </pre>
86 *
87 * @return String "yyyy"格式的当前月度字符串。
88 */
89 public static String getNowDay() {
90 SimpleDateFormat formatter = new SimpleDateFormat("dd");
91
92 return formatter.format(new Date());
93 }
94
95 /**
96 * 获取日期字符串。
97 *
98 * <pre>
99 * 日期字符串格式: yyyyMMdd
100 * 其中:
101 * yyyy 表示4位年。
102 * MM 表示2位月。
103 * dd 表示2位日。
104 * </pre>
105 *
106 * @param date
107 * 需要转化的日期。
108 * @return String "yyyyMMdd"格式的日期字符串。
109 */
110 public static String getDate(Date date) {
111 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
112
113 return formatter.format(date);
114 }
115
116 /**
117 * 获取日期字符串。
118 *
119 * <pre>
120 * 日期字符串格式: yyyyMMdd
121 * 其中:
122 * yyyy 表示4位年。
123 * MM 表示2位月。
124 * dd 表示2位日。
125 * </pre>
126 *
127 * @param date
128 * 需要转化的日期。
129 * @return String "yyyyMMdd"格式的日期字符串。
130 */
131 /**
132 * 将指定的日期字符串转化为日期对象
133 *
134 * @param dateStr
135 * 日期字符串
136 * @return java.util.Date
137 * @roseuid 3F39FE450385
138 */
139 public static Date getDate(String dateStr) {
140 if (XJPTypeChecker.isDate(dateStr)) { // 日期型
141 SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
142 try {
143 java.util.Date date = df.parse(dateStr);
144 return date;
145 } catch (Exception ex) {
146 Logger.write("日期格式不符合或者日期为空!请检查!");
147 return null;
148 } // end try - catch
149 } else if (XJPTypeChecker.isDatetime(dateStr)) { // 日期时间型
150 SimpleDateFormat df = new SimpleDateFormat(
151 "yyyy-MM-dd HH:mm:ss.SSS");
152 try {
153 java.util.Date date = df.parse(dateStr);
154 return date;
155 } catch (Exception ex) {
156 return null;
157 } // end try - catch
158 } // end if
159 return null;
160 }
161
162 /**
163 * 获取日期字符串。
164 *
165 * <pre>
166 * 日期字符串格式: yyyy-MM-dd
167 * 其中:
168 * yyyy 表示4位年。
169 * MM 表示2位月。
170 * dd 表示2位日。
171 * </pre>
172 *
173 * @return String "yyyy-MM-dd"格式的日期字符串。
174 */
175 public static String getHyphenDate() {
176 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
177
178 return formatter.format(new Date());
179 }
180
181 /**
182 * 获取日期字符串。
183 *
184 * <pre>
185 * 日期字符串格式: yyyy-MM-dd
186 * 其中:
187 * yyyy 表示4位年。
188 * MM 表示2位月。
189 * dd 表示2位日。
190 * </pre>
191 *
192 * @param date
193 * 需要转化的日期。
194 * @return String "yyyy-MM-dd"格式的日期字符串。
195 */
196 public static String getHyphenDate(Date date) {
197 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
198
199 return formatter.format(date);
200 }
201
202 /**
203 * 将"yyyyMMdd"格式的日期字符串转换为日期对象。
204 *
205 * @param source
206 * 日期字符串。
207 * @return Date 日期对象。
208 */
209 public static Date parsePlainDate(String source) {
210 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
211
212 return sdf.parse(source, new ParsePosition(0));
213 }
214
215 /**
216 * 将“yyyy-MM-dd”格式的日期字符串转换为日期对象。
217 *
218 * @param source
219 * 日期字符串。
220 * @return Date 日期对象。
221 */
222 public static Date parseHyphenDate(String source) {
223 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
224
225 return sdf.parse(source, new ParsePosition(0));
226 }
227
228 /**
229 * 将指定格式的日期字符串转换为日期对象。
230 *
231 * @param source
232 * 日期字符串。
233 * @param pattern
234 * 模式。
235 * @return Date 日期对象。
236 */
237 public static Date parseDate(String source, String pattern) {
238 SimpleDateFormat sdf = new SimpleDateFormat(pattern);
239
240 return sdf.parse(source, new ParsePosition(0));
241 }
242
243 /**
244 * 将“yyyy-MM-dd”格式的日期字符串转换为“yyyyMMdd”格式的日期字符串。
245 *
246 * @param source
247 * 日期字符串。
248 * @return String "yyyymmdd"格式的日期字符串。
249 */
250 public static String toPlainDate(String source) {
251 Date date = parseHyphenDate(source);
252 SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
253
254 return formatter.format(date);
255 }
256
257 /**
258 * 将“yyyyMMdd”格式的日期字符串转换为“yyyy-MM-dd”格式的日期字符串。
259 *
260 * @param source
261 * 日期字符串。
262 * @return String "yyyy-MM-dd"格式的日期字符串。
263 */
264 public static String toHyphenDate(String source) {
265 Date date = parsePlainDate(source);
266 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
267
268 return formatter.format(date);
269 }
270
271 /**
272 * 获取时间戳,将日期对象转换为时间戳类型。
273 *
274 * @param date
275 * 日期对象
276 * @return Timestamp 时间戳
277 */
278 public static Timestamp getTimestamp(Date date) {
279 return new Timestamp(date.getTime());
280 }
281
282 /**
283 * 获取时间戳,将当前日期转换为时间戳类型。
284 *
285 * @return Timestamp 时间戳
286 */
287 public static Timestamp getTimestamp() {
288 return new Timestamp(new Date().getTime());
289 }
290
291 /**
292 * 将“yyyyMMdd”格式的日期字符串转换为Timestamp类型的对象。
293 *
294 * @param source
295 * 日期字符串
296 * @return Timestamp 时间戳
297 */
298 public static Timestamp parseTimestamp(String source) {
299 Date date = parsePlainDate(source);
300
301 return getTimestamp(date);
302 }
303
304 /**
305 * 获得年度周期 <br>
306 * Example:<br>
307 * XJPDateUtil.getPeriodYear("20040229" , -1);<br>
308 * XJPDateUtil.getPeriodYear("20040228" , -1);<br>
309 * XJPDateUtil.getPeriodYear("20020230" , 2);<br>
310 *
311 * @param source
312 * 时间串
313 * @param yearPeriod
314 * 年度周期 -1代表本时间的上一年度,以次类推。
315 * @return String 时间。
316 */
317 public static String getPeriodYear(String source, int yearPeriod) {
318 int p = Integer.parseInt(source.substring(0, 4)) + yearPeriod;
319 String newYear = String.valueOf(p)
320 + source.substring(4, source.length());
321 Date date = parsePlainDate(newYear);
322 String s = getDate(date);
323 int ny = Integer.parseInt(s);
324 int sy = Integer.parseInt(newYear);
325
326 while (ny > sy) {
327 sy--;
328 ny = Integer.parseInt(getDate(parsePlainDate(String.valueOf(sy))));
329 }
330
331 return String.valueOf(sy);
332 }
333
334 /**
335 * 获取当前日期和时间
336 *
337 * @return String
338 */
339 public static String getCurrentDateStr() {
340 Date date = new Date();
341 String str = null;
342 SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
343 str = df.format(date);
344 return str;
345 }
346
347 /**
348 * 日期相加
349 *
350 * @param day
351 * 天数
352 * @return 返回相加后的日期
353 */
354 public static String addDate(int day) {
355 java.util.Calendar c = java.util.Calendar.getInstance();
356
357 c.setTimeInMillis(System.currentTimeMillis() + ((long) day) * 24 * 3600
358 * 1000);
359 SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
360 return df.format(c.getTime());
361 }
362
363 /**
364 * 返回毫秒
365 *
366 * @param date
367 * 日期
368 * @return 返回毫秒
369 */
370 public static long getMillis(java.util.Date date) {
371 java.util.Calendar c = java.util.Calendar.getInstance();
372 c.setTime(date);
373 return c.getTimeInMillis();
374 }
375 /**
376 * 获取当前日期和时间
377 * @param format 日期格式 例:yyyy-MM-dd hh:mm
378 * @return String
379 */
380 public static String getNowDate(String format) {
381 Date date = new Date();
382 String str = null;
383 SimpleDateFormat df = new SimpleDateFormat(format);
384 str = df.format(date);
385 return str;
386 }
387 /**
388 * 将strmon的日期减小一个月
389 * @param mon
390 * @return
391 */
392 public static String getReduceMonDate(String strmon) {
393 if (strmon != null && !strmon.equals("")) {
394 Date mon = parseHyphenDate(strmon);
395 mon.setMonth(mon.getMonth() - 1);
396 return getHyphenDate(mon);
397 } else {
398 return "";
399 }
400 }
401 public static String getTimeStr(String dateStr){
402 Date date=getDate(dateStr);
403 String str = null;
404 SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
405 str = df.format(date);
406 return str;
407 }
408 public static String getTimeStr(){
409 String str="";
410 SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
411 str = df.format(new Date());
412 return str;
413 }
414 }

转载于http://blog.csdn.net/thl331860203/article/details/5912435

时间: 2024-10-10 18:22:01

java获取当前时间的方式【转】的相关文章

Java获取系统时间少了八个小时

Java获取系统时间少了八个小时 今天忽然遇到需要获取当前时间的问题,我向来谨慎,先测试获取到的系统时间是否正确,结果竟然发现少了八个小时,晕死了,记得之前在页面用javascript获取过当前时间,都能正确获取的.然后开始上网查,更晕了,答案各种各样,有用代码的方式(这肯定不行,因为程序不只要在自己的机子上跑的),也有修改eclipse和tomcat安装文件的,更有修改注册表的,NND,还真不知要用哪个,后来,终于找到一个,说问题出在JRE上,我很认同,一试,果然行!下面附上步骤,希望给遇到同

java学习第13天( java获取当前时间,有关大数据的运算及精确数字运算,Date类)

一 java获取当前时间 学习一个函数,得到当前时间的准确值 System.currectTimeMillis(). 可以得到以毫秒为单位的当前时间.它主要用于计算程序运行时间,long start=System.currectTimeMillis() ,long stop=System.currectTimeMillis() , stop-start; 二  有关大数据的运算及精确数字运算. 此时integer不适用.我们使用BigInteger ,如:BigInteger B= new Bi

java获取随机时间的源码片段

将写内容过程中重要的一些内容做个记录,如下资料是关于java获取随机时间的片段的内容. import java.text.parseexception; import java.text.simpledateformat; import java.util.date; public class getrandomtiem { public static void main(string []args){ simpledateformat format = new simpledateformat

java获取当前日期时间代码总结

1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值.  方法如下: 要使用 java.util.Date .获取当前时间的代码如下  代码如下 复制代码 Date date = new Date(); date.getTime() ; 还有一种方式,使用 System.currentTimeMillis() ; 都是得到一个当前的时间的long型的时间的毫秒值,这个值实际上是当前时间值与1970年一月一号零时零分零秒相差的毫秒数 一.获取当前时间,   格式为:   yyyy-m

java 获取当期时间之前几小时的时间

Calendar expireDate = Calendar.getInstance(); expireDate.set(Calendar.HOUR_OF_DAY, expireDate.get(Calendar.HOUR_OF_DAY)-20); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //expireDate.add(Calendar.DAY_OF_MONTH, -7);//获取七天前的时

Java获取系统时间的四种方法

1.Date day=new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(df.format(day)); 通过Date类来获取当前时间 2.SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   System.out.println(df.f

Java获取系统时间

Java可以通过SimpleDateFormat格式化类对Date进行格式话获取时间. 1 import java.util.*; 2 import java.text.*; 3 public class TestDate { 4 public static void main(String args[]) { 5 Date today=new Date(); 6 SimpleDateFormat f=new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss"

JaveWeb 公司项目(5)----- Java获取当前时间的年月日以及同Thrift格式的转化

随着项目进度的逐步完成,数据传输和界面基本上已经搭建完成,下面就是一些细节部分的修改 今天博文的主要内容说的是获取当前的时间和同Thrift类型的转化 和C#类似,java也有一个时间类Date,加载包import java.util.Date; 实例化Date Date  Time = new  Date(); 使用.get()方法获取年月日 int year = currTime.getYear();//年 但是在实际使用过程中发现使用.get()方法中间有一道横线,百度了一下,有横线的表示

Java获取指定时间(转)

说明:从LocalDate的API上看,主要用于快速获取当前年月日,而DateFormatter也基本上伴随着使用.如果是操作Date对象的,主要是用于时间戳等,伴随着使用的是SimpleDateFormat. 1.Java 7及之前版本1.1.使用java.util.Calendar(不推荐) import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import