java获取当前日期
① 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();
}
}
}
② Java取当前时间
tomcat时间跟系统时间不一致的问题解决方法
摘自 -- 黑夜的博客
一,在catalina.bat中
配置如下:内
set JAVA_OPTS=%JAVA_OPTS% -Duser.timezone=GMT+08 -Xms256m -Xmx800m
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"
-Xms256m -Xmx800m(初始化内存大小为容256m,可以使用的最大内存为800m),
-Duser.timezone=GMT+08 //设置为北京时间
二,在eclipse中设置
在 首选项->Tomcat ->JVM Settings 项,设定JRE的版本为'jre1.5.0_06',并且添加如下几个JVM Parameters:
-Xms128m
-Xmx512m
-Dfile.encoding=UTF8
-Duser.timezone=GMT+08
③ java如何获取当前精确时间
java获取当前时间精确到毫秒newSimpleDateFormat("yyyyMMddHHmmssSSS").format(newDate());
方法2:
CalendarCld=Calendar.getInstance();
intYY=Cld.get(Calendar.YEAR);
intMM=Cld.get(Calendar.MONTH)+1;
intDD=Cld.get(Calendar.DATE);
intHH=Cld.get(Calendar.HOUR_OF_DAY);
intmm=Cld.get(Calendar.MINUTE);
intSS=Cld.get(Calendar.SECOND);
intMI=Cld.get(Calendar.MILLISECOND);
StringcurTime=YY+MM+DD+HH+mm+SS+MI;Calendarcal=Calendar.getInstance();
java.util.Datedate=cal.getTime();
SimpleDateFormatsdFormat=newSimpleDateFormat("yyyyMMddhhmmssSSS");
StringmyTime=sdFormat.format(currentTime);
④ java里面有没有直接获取当前日期的方法
java里没有来一种方法是直接写这种自格式化的,都要通过SimpleDateFormat()方法进行转换,可以通过new Date()方法和Calendar.getInstance().getTime()方法获得时间,格式如下"Fri Sep 30 16:38:28 CST 2011" 。所有获得时间都要通过SimpleDateFormat()方法转换才会是“2012-05-12 14:28:55”这个样子。
⑤ Java代码中如何获得当前时间
java.util.Date nowdate = new java.util.Date();然后如果你想时间的格式和你想用的时间格式一致 那么就要格式化时间了内SimpleDateFormat 的包在java.text包下SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") //年月日 时分容秒String t = sdf.parse(nowdate);
⑥ java如何获取某一天的日期
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//定义格式化的形式;
String today = sf.format(new Date());
//将得到的当前日期按上面的格式转为String类型;
System.out.println(today);
要导两个包
import java.text.SimpleDateFormat;
import java.util.Date;
⑦ java获取当前时间
因为你的这一句Calendar c = Calendar.getInstance();是写在循环外面的,声明了c以后那c就是这一刻的时间,无论你再怎么循回环还是只答打印声明c时的时间。这段代码我没太看明白你要做什么,不过你想循环输出当前的时间可以这样写:
while(true){
Calendarc=Calendar.getInstance();
inttime=c.get(Calendar.SECOND);
System.out.println(time);
}
把Calendar c = Calendar.getInstance();写在循环里就是不停的循环获得当前时间。
⑧ java中如何获取本机当前时间
可以直接通过jdk基本方法,获取到当前的时间
Date date= new Date();//创建一个时间对象,获内取到当前的容时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置时间显示格式
String str = sdf.format(date);//将当前时间格式化为需要的类型
System.out.println(str);//输出结果
结果为:2015-06-27 23:40:54(实时)。