timestamp String date 三者之间的转换,以及DB中的判断 转换时候的注意事项
来源:互联网 发布:文字编辑软件 编辑:程序博客网 时间:2024/06/01 13:03
"yyyy-MM-dd" 不要写成“yyyy-mm-dd”,一定要注意mm要大写,否则你check的时候是出不来错误的。
由此可见ToString("yyyymmdd")得到的并不是当前时间的年月日,而又由于 "年月日时分秒"是"yyyy MM dd HH mm ss"联想到有可能将ToString("yyyymmdd");其中的"mm"当做分钟处理了,
所以实际得到的是"年分天"的结果.于是边做再次的验证,结果的确如此
也就是说
string a= DateTime.Now.ToString("yyyyMMdd") ;//得到的是"年月日"的结果
string b=DateTime.Now.ToString("yyyymmdd"); //得到的是"年分日"的结果
DateFormat format=new SimpleDateFormat("yyyy-MM-dd");
try {
format.parse("2012-09-01");//成功
format.parse("2012-09-32");//成功
// 重要哦
format.setLenient(false);
format.parse("2012-09-32");//Exception
} catch (ParseException e) {
//失敗時の処理…
}
SimpleDateFormatはデフォルトでは書式フォーマットのみをチェックするので、32日のような不正値で例外が投げられない。
不正な日付をチェックしたい場合は、setLenientでfalseをセットする。
Commons DateUtils
commons-langに含まれているDateUtilsを使う場合は以下のように。
try {
DateUtils.parseDateStrictly("2012-09-01", new String[] {"yyyy-MM-dd"});
DateUtils.parseDateStrictly("2012-09-32", new String[] {"yyyy-MM-dd"});//Exception
} catch (ParseException e) {
// エラー処理...
}
これも内部的にはSimpleDateFormatを使った実装。こちらは書式フォーマットをString配列で複数指定できるようになっている。
标题中的三者的转换关系 看是不是日期类型的。格式和 日期是否正确
protected void checkDate(String obj, String msgParam) {
if (StringUtils.isEmpty(obj)) {return;
}
try {
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy/mm/dd");
// 格式と日付正常かとうか、
// 上文提到的,如果要验证日期是否正确,就要设定这个东西
// 如果不加这个设定 那么就是单纯的格式验证了,2017/55/66 不会报错
dateFormatter.setLenient(false);
dateFormatter.parse(obj);
} catch (Exception e) {
throw new ParameterIllegalException(
messageService.getStatusMessage(StatusCode.E00002, msgParam));
}
}
在谈 三者之间的转换,以及DB中的判断
public static String toStr(final Date date) {
return toStr(date, "yyyy/MM/dd");
}
public static String toStr(final Date date, final String format) {
return new SimpleDateFormat(format).format(date);
}
public static Date toDate(final String dateStr) {
return toDate(dateStr, "yyyy/MM/dd");
}
public static Date toDate(final String dateStr, final String format) {
Date date = null;
try {
date = new SimpleDateFormat(format).parse(dateStr);
} catch (ParseException ex) {
ex.printStackTrace();
}
return date;
}
格式可以自己更换。
new Timestamp(toDate(“String类型的时间”).getTime())
转换成date,在gettime 这就是一个long的数字了。然后在new timestamp.后面就是0
例如,2012/02/03 转换成timestamp 就是 2012-02-02 00:00;00.0
所以日期的判断 如果要是 终了日 这种的判断 ,日期记得加一天,要不然数据会不正确的。
所有 可以使用 工具类 DateUtils 里面的addday()
Date dateEnd = StringUtils.toDate("2012/12/12");
dateEnd = DateUtils.addDays(dateEnd, 1);
日期加一天,在转换new Timestamp(dateEnd.getTime())
DB中日期的判断的方式是
date >=開始日 and date < 終了日
比较正确。
- timestamp String date 三者之间的转换,以及DB中的判断 转换时候的注意事项
- Date、String、Timestamp之间的转换
- Java Date、String、Timestamp之间的转换
- Date、String、Timestamp之间的转换
- Date、String、Timestamp之间的转换
- String和Date、Timestamp之间的转换
- Date、String、Timestamp之间的转换!
- String和Date、Timestamp之间的转换
- Date、String、Timestamp之间的转换!
- String和Date,Timestamp之间的转换
- String Date Timestamp之间的转换
- Timestamp、String、Date之间的转换
- String和Date、Timestamp之间的转换
- Date、String、Timestamp之间的转换!
- String和Date、Timestamp之间的转换
- String Date Calendar Timestamp之间的转换
- timestamp、date、String之间的转换
- String、Date、Timestamp之间的转换
- 2017.3.15读完《围城》
- java swing
- HDU2717(POJ3278):Catch That Cow
- ECMAScript6
- [C++]多线程: 教你写第一个线程
- timestamp String date 三者之间的转换,以及DB中的判断 转换时候的注意事项
- 博客新开新人报道博客文
- linux初学者周周感悟--2
- JavaFileWriter
- 幸运数 蓝桥杯历年试题
- 动态规划 拿糖果
- Android基础
- echarts-wordcloud绘制词云图之空串问题。
- 移植openssh到mini2440开发板