在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 日期類型轉(zhuǎn)換問題

日期類型轉(zhuǎn)換問題

為什么 01-26-2018 日期,打印出來變成了2020年了?
clipboard.png

打?。?/p>

clipboard.png

回答
編輯回答
失魂人

01-26-2018(dd日-MM月-yyyy年)
格式化就變
01-02-2020了

2018年4月9日 04:18
編輯回答
怪痞

01(dd)-26(MM)-2018(yyyy)
再對一下格式吧

2018年6月20日 20:04
編輯回答
執(zhí)念

26月1號???

2018年5月3日 10:20
編輯回答
墨染殤

http://feilong-core.mydoc.io/ 推薦一個工具,適合各種轉(zhuǎn)換。

2017年6月26日 23:29
編輯回答
厭惡我

java日期時間轉(zhuǎn)換工具類
1.實現(xiàn)日期格式和類型轉(zhuǎn)換
2.獲得星期,時,分,秒
3.日期比較
4.生成賬號和流水號

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.regex.Pattern;
/**

  • 日期時間轉(zhuǎn)換工具類

*/
public class DateUtil {
public static String FILE_NAME = "MMddHHmmssSSS";
public static String DEFAULT_PATTERN = "yyyy-MM-dd";
public static String DIR_PATTERN = "yyyy/MM/dd/";
public static String TIMESTAMP_PATTERN = "yyyy-MM-dd HH:mm:ss";
public static String TIMES_PATTERN = "HH:mm:ss";
public static String NOCHAR_PATTERN = "yyyyMMddHHmmss";
/**

  • 獲取當(dāng)前時間戳

*

  • @param date

*

  • @return

*/
public static String formatDefaultFileName() {
return formatDateByFormat(new Date(), FILE_NAME);
}
/**

  • 日期轉(zhuǎn)換為字符串

*

  • @param date
  • 日期
  • @param format
  • 日期格式
  • @return 指定格式的日期字符串

*/
public static String formatDateByFormat(Date date, String format) {
String result = "";
if (date != null) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
result = sdf.format(date);
} catch (Exception ex) {
ex.printStackTrace();
}
}
return result;
}
/**

  • 轉(zhuǎn)換為默認(rèn)格式(yyyy-MM-dd)的日期字符串

*

  • @param date

*

  • @return

*/
public static String formatDefaultDate(Date date) {
return formatDateByFormat(date, DEFAULT_PATTERN);
}
/**

  • 轉(zhuǎn)換為目錄格式(yyyy/MM/dd/)的日期字符串

*

  • @param date

*

  • @return

*/
public static String formatDirDate(Date date) {
return formatDateByFormat(date, DIR_PATTERN);
}
/**

  • 轉(zhuǎn)換為完整格式(yyyy-MM-dd HH:mm:ss)的日期字符串

*

  • @param date

*

  • @return

*/
public static String formatTimesTampDate(Date date) {
return formatDateByFormat(date, TIMESTAMP_PATTERN);
}
/**

  • 轉(zhuǎn)換為時分秒格式(HH:mm:ss)的日期字符串

*

  • @param date

*

  • @return

*/
public static String formatTimesDate(Date date) {
return formatDateByFormat(date, TIMES_PATTERN);
}
/**

  • 轉(zhuǎn)換為時分秒格式(HH:mm:ss)的日期字符串

*

  • @param date

*

  • @return

*/
public static String formatNoCharDate(Date date) {
return formatDateByFormat(date, NOCHAR_PATTERN);
}
/**

  • 日期格式字符串轉(zhuǎn)換為日期對象

*

  • @param strDate
  • 日期格式字符串
  • @param pattern
  • 日期對象
  • @return

*/
public static Date parseDate(String strDate, String pattern) {
try {
SimpleDateFormat format = new SimpleDateFormat(pattern);
Date nowDate = format.parse(strDate);
return nowDate;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**

  • 字符串轉(zhuǎn)換為默認(rèn)格式(yyyy-MM-dd)日期對象

*

  • @param date

*

  • @return

*

  • @throws Exception

*/
public static Date parseDefaultDate(String date) {
return parseDate(date, DEFAULT_PATTERN);
}
/**

  • 字符串轉(zhuǎn)換為完整格式(yyyy-MM-dd HH:mm:ss)日期對象

*

  • @param date

*

  • @return

*

  • @throws Exception

*/
public static Date parseTimesTampDate(String date) {
return parseDate(date, TIMESTAMP_PATTERN);
}
/**

  • 獲得當(dāng)前時間

*

  • @return

*/
public static Date getCurrentDate() {
Calendar calendar = Calendar.getInstance();
return calendar.getTime();
}
/**

  • sql Date 轉(zhuǎn) util Date

*

  • @param date
  • java.sql.Date日期
  • @return java.util.Date

*/
public static Date parseUtilDate(java.sql.Date date) {
return date;
}
/**

  • util Date 轉(zhuǎn) sql Date

*

  • @param date
  • java.sql.Date日期
  • @return

*/
public static java.sql.Date parseSqlDate(Date date) {
return new java.sql.Date(date.getTime());
}
/**

  • 獲取年份

*

  • @param date

*

  • @return

*/
public static int getYear(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
return c.get(Calendar.YEAR);
}
/**

  • 獲取月份

*

  • @param date

*

  • @return

*/
public static int getMonth(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
return c.get(Calendar.MONTH) + 1;
}
/**

  • 獲取星期

*

  • @param date

*

  • @return

*/
public static int getWeek(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
dayOfWeek = dayOfWeek - 1;
if (dayOfWeek == 0) {
dayOfWeek = 7;
}
return dayOfWeek;
}
/**

  • 獲取日期(多少號)

*

  • @param date

*

  • @return

*/
public static int getDay(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
return c.get(Calendar.DAY_OF_MONTH);
}
/**

  • 獲取當(dāng)前時間(小時)

*

  • @param date

*

  • @return

*/
public static int getHour(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
return c.get(Calendar.HOUR_OF_DAY);
}
/**

  • 獲取當(dāng)前時間(分)

*

  • @param date

*

  • @return

*/
public static int getMinute(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
return c.get(Calendar.MINUTE);
}
/**

  • 獲取當(dāng)前時間(秒)

*

  • @param date

*

  • @return

*/
public static int getSecond(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
return c.get(Calendar.SECOND);
}
/**

  • 獲取當(dāng)前毫秒

*

  • @param date

*

  • @return

*/
public static long getMillis(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
return c.getTimeInMillis();
}
/**

  • 日期增加

*

  • @param date
  • Date

*

  • @param day
  • int

*

  • @return Date

*/
public static Date addDate(Date date, int day) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTimeInMillis(getMillis(date) + ((long) day) 24 3600 * 1000);
return c.getTime();
}
/**

  • 日期相減(返回天數(shù))

*

  • @param date
  • Date

*

  • @param date1
  • Date

*

  • @return int 相差的天數(shù)

*/
public static int diffDate(Date date, Date date1) {
return (int) ((getMillis(date) - getMillis(date1)) / (24 3600 1000));
}
/**

  • 日期相減(返回秒值)

*

  • @param date
  • Date
  • @param date1
  • Date
  • @return int
  • @author

*/
public static Long diffDateTime(Date date, Date date1) {
return (Long) ((getMillis(date) - getMillis(date1)) / 1000);
}
private static String[] randomValues = new String[] { "0", "1", "2", "3",
"4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g",
"h", "i", "j", "k", "l", "m", "n", "u", "t", "s", "o", "x", "v",
"p", "q", "r", "w", "y", "z" };
public static String getRandomNumber(int lenght) {
StringBuffer str = new StringBuffer();
for (int i = 0; i < lenght; i++) {
Double number = Math.random() * (randomValues.length - 1);
str.append(randomValues[number.intValue()]);
}
return str.toString();
}
/**

  • 生成賬號

*

  • @param acount
  • @return

*/
public static String nextAcounnt(String acount) {
String newAcc = "";
if (Integer.parseInt(acount) < 10000) {
Integer newAc = Integer.parseInt(acount) + 1;
if (newAc < 1000) {
int count = String.valueOf(newAc).length();
if (count == 1) {
newAcc = "000" + newAc;
} else if (count == 2) {
newAcc = "00" + newAc;
} else if (count == 3) {
newAcc = "0" + newAc;
}
} else {
newAcc = String.valueOf(newAc);
}
} else {
newAcc = acount;
}
return newAcc;
}
public static boolean isNumeric1(String str) {
if (str != null && !"".equals(str) && str.length()<=9) {
Pattern pattern = Pattern.compile("[0-9]*");
return pattern.matcher(str).matches();
} else {
return false;
}
}
/**

  • 生成流水號

*

  • @param t
  • 流水號位數(shù)
  • @return 流水號

*/
public static String getSequenceNumber(int t) {
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");
String str = sdf.format(d);
String haomiao = String.valueOf(System.nanoTime());
str = str + haomiao.substring(haomiao.length() - 6, haomiao.length());
return str.substring(str.length() - t, str.length());
}

2018年3月29日 19:15
編輯回答
吃藕丑

MM-dd-yyyy哦,你完全反啦,可以看出來,你是26月1日,26月是兩年多,2018+2=2020,這個問題也可以看出來java內(nèi)部對時間的處理邏輯

2017年3月30日 01:21
編輯回答
念舊

yyyy是年MM是月dd是日

2018年1月16日 10:36
編輯回答
枕邊人

你日月寫反了,MM是月,dd是天,哪有26月啊。。。

2017年12月4日 02:01
編輯回答
負(fù)我心

你的日期是MM-dd-yyyy,你用的這個SF轉(zhuǎn)換的就是2018年26月1號,不就等于2020年2月1號碼?

2017年4月19日 02:49
編輯回答
毀與悔

你的日期格式是MM-dd-yyyy

2017年7月23日 11:02