【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
我正在使用网页上的HTML5元素。 默认情况下,输入type="date"
显示为YYYY-MM-DD
。
问题是,是否可以将其格式更改为: DD-MM-YYYY
?
#1楼
最后一个Beta版本的Google Chrome浏览器最终使用输入type=date
,格式为DD-MM-YYYY
。
因此,必须有一种强制使用特定格式的方法。 我正在开发HTML5网页,日期搜索现在失败,但格式不同。
#2楼
- RFC 3339 / ISO 8601“有线格式”:YYYY-MM-DD。 根据HTML5规范,这是在表单提交时或通过DOM API请求时必须用于输入值的格式。 它是区域设置和区域独立的。
- 用户界面控件显示的格式,并被接受为用户输入。 鼓励浏览器供应商遵循用户的首选项选择。 例如,在Mac OS上,在“语言和文字”偏好设置窗格中选择了“美国”区域,Chrome 20使用的格式为“ m / d / yy”。
HTML5规范不包括任何替代或手动指定格式的方法。
#3楼
无法使用用户的计算机或手机的默认日期格式更改网络套件浏览器。 但是,如果可以使用jquery和jquery UI,则可以选择日期选择器,并且可以按照开发人员的需要以任何格式显示日期选择器。 指向jquery UI date-picker的链接在此页面上http://jqueryui.com/datepicker/您可以找到演示以及代码和文档或文档链接
编辑:-我发现chrome使用的语言设置默认情况下等于系统设置,但用户可以更改它们,但开发人员无法强迫用户这样做,因此您必须使用其他js解决方案,例如我告诉您可以搜索网络使用javascript date-pickers或jquery date-picker之类的查询
#4楼
经过许多障碍之后,我想出了一个可以更改格式的解决方案。 有一些警告,但是如果您希望始终显示“ Jan”或“ 01”,则可以使用。 仅由于Firefox根本不支持本机日期选择器,才可以在Windows和Mac上的Chrome中运行。
https://github.com/northamerican/custom-input-date-format
JS:
function updateDateInputs() {
$('input').each(function() {
var $date = $(this),
date = $date.val().split('-'),
format = ['year', 'month', 'day'];
$.each(format, function(i, v) {
$date.attr('data-' + v, +date[i]);
});
});
}
SASS:
$months: '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12';
@each $month in $months {
$i: index($months, $month);
input[data-month="#{$i}"][data-style="reg"]::-webkit-datetime-edit-month-field:after {
content: "#{$month}";
}
}
#5楼
如前所述, <input type=date ... >
在大多数浏览器中并未完全实现,因此让我们来谈谈像浏览器(chrome)这样的webkit。
使用linux,您可以通过更改环境变量LANG
来更改它, LC_TIME
似乎不起作用(至少对我而言)。
您可以在终端中键入locale
以查看当前值。 我认为相同的概念可以应用于IOS。
例如:使用:
LANG=en_US.UTF-8 /opt/google/chrome/chrome
日期显示为mm/dd/yyyy
使用方法:
LANG=pt_BR /opt/google/chrome/chrome
日期显示为dd/mm/yyyy
您可以使用http://lh.2xlibre.net/locale/pt_BR/ (根据您的语言环境更改pt_BR
)来创建自己的自定义语言环境,并根据需要设置日期格式。
关于更改默认系统日期怎么是一个很好的更高级的参考: https://ccollins.wordpress.com/2009/01/06/how-to-change-date-formats-on-ubuntu/和https://开头askubuntu。 com / questions / 21316 /我如何自定义系统语言环境
您可以使用date
查看实际的当前日期格式:
$ date +%x
01-06-2015
但是由于d_fmt
似乎拒绝了LC_TIME
和d_fmt
(我认为这是webkit或chrome中的错误),遗憾的是它不起作用 。 :'(
因此,不幸的是,如果LANG
环境变量不能解决您的问题,那么还没有办法。
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3152555