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(實時)。