java 获取当前日期,应该如何操作呢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 获取当前日期,应该如何操作呢相关的知识,希望对你有一定的参考价值。

package util;

import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
* 获取系统时间
*

*/
public class DateUtil
/* 日志对象 */
// private static Logger logger = Logger.getLogger(SystemUtil.class);
/* 获取年份 */
public static final int YEAR = 1;
/* 获取年月 */
public static final int YEARMONTH = 2;
/* 获取年月日 */
public static final int YEARMONTHDAY = 3;
/* 获取年月日,小时 */
public static final int YMD_HOUR = 4;
/* 获取年月日,小时,分钟 */
public static final int YMD_HOURMINUTE = 5;
/* 获取年月日,时分秒 */
public static final int FULL = 6;
/* 获取年月日时分秒 格式:yyyyMMddHHmmss */
public static final int UTILTIME = 7;

/**
* 根据指定时间格式类型得到当前时间
*
* @param type
* 时间类型
* @return String 字符串时间
*/
public static synchronized String getCurrentTime(int type)
String format = getFormat(type);
SimpleDateFormat timeformat = new SimpleDateFormat(format);
Date date = new Date();
return timeformat.format(date);


/**
* 返回当前系统时间的年月日
*
* @return
*/
public static synchronized String getCurrentTime()
SimpleDateFormat timeformat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
return timeformat.format(date);

/**
* 根据参数格式,格式化当前日期
* @param format
* @return
*/
public static synchronized String getDateString(String format)
SimpleDateFormat timeformat = new SimpleDateFormat(format);
Date date = new Date();
return timeformat.format(date);


/**
* 根据指定时间格式类型,格式化时间格式
*
* @param type
* 时间格式类型
* @return
*/
private static String getFormat(int type)
String format = "";
if (type == 1)
format = "yyyy";
else if (type == 2)
format = "yyyy-MM";
else if (type == 3)
format = "yyyy-MM-dd";
else if (type == 4)
format = "yyyy-MM-dd HH";
else if (type == 5)
format = "yyyy-MM-dd HH:mm";
else if (type == 6)
format = "yyyy-MM-dd HH:mm:ss";
else if (type == 7)
format = "yyyyMMddHHmmss";
else
throw new RuntimeException("日期格式参数错误");

return format;


public static int getYear(String dateString)
SimpleDateFormat dd = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try
date = dd.parse(dateString);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal.get(Calendar.YEAR);
catch (Exception e)
throw new RuntimeException(e);


public static int getMonth(String dateString)
SimpleDateFormat dd = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try
date = dd.parse(dateString);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal.get(Calendar.MONTH)+1;
catch (Exception e)
throw new RuntimeException(e);



public static int getDay(String dateString)
SimpleDateFormat dd = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try
date = dd.parse(dateString);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal.get(Calendar.DAY_OF_MONTH);
catch (Exception e)
throw new RuntimeException(e);



public static Date StringToDate(String dateStr, String formatStr)
SimpleDateFormat dd = new SimpleDateFormat(formatStr);
Date date = null;
try
date = dd.parse(dateStr);
catch (ParseException e)
e.printStackTrace();

return date;


/**
* 当前日期和参数日期距离的小时数 日期格式:yyyy-MM-dd HH:mm:ss
*
* @param date
* @return
*/
public static double getHours(String date)
SimpleDateFormat timeformat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
try
Date d = new Date();
Date d1 = timeformat.parse(date);

long temp = d.getTime() - d1.getTime();
double f = temp / 3600000d;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
return f1;
catch (Exception e)
e.printStackTrace();
throw new RuntimeException(e);



public static void main(String a[])
try
int aa = getYear("2012-01-08");
System.out.println(aa);
catch (Exception e)
e.printStackTrace();


参考技术A new Date()即可
然后调用该对象的方法,就有年份月份日期,小时分钟秒钟,甚至毫秒
参考技术B import java.util.Date;
Date d = new Date();

以上是关于java 获取当前日期,应该如何操作呢的主要内容,如果未能解决你的问题,请参考以下文章

如何利用PHP时间戳获取当前时间

Python中获取当前日期的格式

EXCEL如何获取当前日期时间

Java怎样根据当前日期获得本月的所有日期

在android中如何获取当前日期?

js如何获取时间