java - 格式
问题描述
我有字段“期望的开始日期”,它是一个文本字段。我long
在 mongoDb 中将日期存储为 a 并将其显示为 a String
,并将其作为一个String
withSimpleDateFormat
类获取。我发现了<input type="date">
,我现在正努力让它工作。我正在尝试将日期选为 YYYY-MM-DD 格式并以 YYYY-MM-DD 格式显示,但日历上没有任何变化。
public class DateFormatterUtils {
public static Long formatDate(String date) {
if (date != null && !date.equals("")) {
List<SimpleDateFormat> datePatterns = new ArrayList<SimpleDateFormat>();
datePatterns.add(new SimpleDateFormat("dd MM yyyy"));
datePatterns.add(new SimpleDateFormat("dd-MM-yyyy"));
datePatterns.add(new SimpleDateFormat("dd/MM/yyyy"));
datePatterns.add(new SimpleDateFormat("dd.MM.yyyy"));
datePatterns.add(new SimpleDateFormat("dd,MM,yyyy"));
datePatterns.add(new SimpleDateFormat("ddMMyyyy"));
datePatterns.add(new SimpleDateFormat("dd:MM:yyyy"));
datePatterns.add(new SimpleDateFormat("dd_MM_yyyy"));
datePatterns.add(new SimpleDateFormat("MM/dd/yyyy"));
datePatterns.add(new SimpleDateFormat("YYYY-MM-DD"));
datePatterns.add(new SimpleDateFormat("yyyy-mm-dd"));
for (SimpleDateFormat pattern : datePatterns) {
try {
return pattern.parse(date).getTime();
} catch (ParseException e) {
}
}
}
return null;
}
public static String readDate(Long timeStamp) {
if (timeStamp == null) {
return "";
}
SimpleDateFormat formatter = new SimpleDateFormat("YYYY-MM-DD");
Date date = new Date(timeStamp);
return formatter.format(date);
}
}
这是我的旧方法,帮助我获得不同格式的输入,并将其readDate()
显示为 dd/MM/yyyy 格式。我检查了文档,日期为 YYYY-MM-DD 模式。当使用 thymeleaf 生成视图时,此日历的字段保持为 mm/dd/yyyy,未选择日期
解决方案
在 HTML5 中,输入类型日期的格式为 yyyy-mm-dd(RFC3339 文档中说https://www.w3.org/TR/2011/WD-html-markup-20110405/input.date.html)
不幸的是,如何处理这样的标签以及他们是否处理它取决于浏览器。在 chrome 中,我认为他们使用系统语言环境的格式。对于其他浏览器我不确定。最安全的方法是使用某种日期选择器,您可以在其中选择日期格式并确保它适用于所有浏览器/客户端。
我相信 IE10 不支持它,我刚刚在我的 firefox ESR 版本上进行了测试,它也不起作用,所以现在我会等待输入 type="date"
推荐阅读
- android-emulator - 在 Ubuntu 18.04 上运行 Android 模拟器时看到“无法 statvfs() 路径:没有这样的文件或目录”
- python - 如何使用python单独替换字符串中的第一个字符?
- javascript - 模态关闭后Jquery不重新加载div
- laravel - Eloquent 模型中的 Laravel 别名列名
- angular - Angular2 @Input() 数组未设置
- ruby-on-rails - 有和属于多关系的一行查询
- tcp - 将 C++ 服务器移植到云端
- php - 使用 php 阻止 Web 访问
- grep - grep:如果另一个字符串没有出现,则计算一个字符串出现的次数
- c# - 如何获得 GameObject 根预制件?