本地系统日期格式

时间:2018-06-22 03:30:14

标签: javascript jquery date

我有一个HTML格式的只读字段。在这里,我需要以与用户的语言环境系统相关的格式显示日期(来自后端系统)。这是一个可编辑的字段,用户可以根据系统设置输入日期。

我想知道如何根据用户的系统设置获取系统日期格式(即可以是dd.MM.yyyy,MM / dd / YYYY,dd-MM-YYYY,YYYY-MM-dd PC)使用Javascript或jQuery。

此致

SAP学习者

2 个答案:

答案 0 :(得分:0)

您可以使用JS中的内置函数获取系统日期

var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; 
var yyyy = today.getFullYear();

if(dd<10) {
    dd = '0'+dd
} 

if(mm<10) {
    mm = '0'+mm
} 

today = mm + '/' + dd + '/' + yyyy;
document.write(today)

document.write("<br>")
// OR other solution

document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('.')[0].replace('T',' '));

答案 1 :(得分:0)

我将假定HTML字段是HTML5日期类型字段。根据浏览器和语言区域设置,可以看到不同的前端用户格式,但是基础值始终由格式yyyy-mm-dd定义。另外,当张贴包含日期字段的表单时,服务器端也会收到此格式。

基于Javascript的日期基于对象Date。但是,除了日历日期外,还包括时间,微秒和时区。要获得在用户语言环境中格式化的当前用户系统日期浏览器,可以使用。

var dateLocale= new Date().toLocaleString();

如果用户使用日期输入字段输入日期,则仅获取值将得到格式“ yyyy-mm-dd”。但是,有一种方法可以使用方法valueAsDate来检索内容。这将返回一个Date对象。但是,此Date对象的时间为格林尼治标准时间所在的12:00 AM。当您尝试检索语言环境日期部分时,内容可能是错误的,因为它所在的时区错误。要解决此问题,请将时区偏移分钟添加到Date对象,以获取正确的语言环境时间和日期。

var dv=document.getElementById('date_field').valueAsDate;
dv.setMinutes(dv.getTimezoneOffset());
var datelocale=dv.toLocaleDateString;

现在,您可以使用datelocale变量执行任何操作,但不要尝试将其放回日期输入字段,因为它可能不兼容。您可以将其放入文本输入类型或隐藏类型。