我有一个包含日期和时间信息的Java Date对象.我想写一个方法来切断时间信息,截断小时 - 分钟 - 秒,所以我只剩下日期.
输入示例:
2008-01-01 13:15:00
Run Code Online (Sandbox Code Playgroud)
预期产量:
2008-01-01 00:00:00
Run Code Online (Sandbox Code Playgroud)
你有小费吗?我尝试过这样的事情:
(timestamp / (24 * 60 * 60 * 1000)) * (24 * 60 * 60 * 1000)
Run Code Online (Sandbox Code Playgroud)
但是我遇到了时区的问题.
我有一个关于线程安全的问题.据我所知,SimpleDateFormat不是线程安全的.我想知道如果我在弹簧控制器中使用以下方式会有什么影响:
private final static SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd yyyy", Locale.US);
Run Code Online (Sandbox Code Playgroud)
稍后在我的控制器函数中,我使用它如下:
try {
changedate = changedate.substring(0, 15);
calcDate = dateFormat.parse(changedate);
} catch (ParseException e2) {
logger.error("Date Parsing Problem", e2);
}
Run Code Online (Sandbox Code Playgroud)
然后将calcDate添加到我的模型对象中,并返回ModelAndView.
那么我会用这种方式看到什么样的问题呢?简单地删除static关键字会修复任何问题,因为每个线程都会使用自己的dateFormat实例吗?关于线程安全性的任何关于线程安全性的清晰度都将非常受欢迎.
谢谢