Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 本地系统日期格式_Javascript_Jquery_Date - Fatal编程技术网

Javascript 本地系统日期格式

Javascript 本地系统日期格式,javascript,jquery,date,Javascript,Jquery,Date,我有一个HTML格式的只读字段。在这里,我需要以与用户的语言环境系统相关的格式显示日期(来自后端系统)。这是一个可编辑字段,用户可以根据系统设置输入日期 我想知道如何使用Javascript或jQuery获取系统日期格式(即根据用户PC中的系统设置,可以是dd.MM.yyyy、MM/dd/yyyy、dd-MM-yyyy、yyyy-MM-dd) 问候, SAP Learner您可以使用JS中的内置函数获取系统日期 var today=新日期(); var dd=today.getDate();

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

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

问候,


SAP Learner

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

var today=新日期();
var dd=today.getDate();
var mm=today.getMonth()+1;
var yyyy=today.getFullYear();

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

Javascript上的日期基于对象<代码>日期。但这是日历日期的附加值,还包括时间、微秒和时区。要在用户区域设置上格式化当前用户系统日期浏览器,可以使用

var dateLocale= new Date().toLocaleString();
如果用户使用日期输入字段输入日期,仅获取该值将给出格式“yyyy-mm-dd”。但是,有一种方法可以使用
valueAsDate
方法检索内容。这将返回一个
date
对象。但是,此日期对象的时间为GMT时区上午12:00。当您尝试重试时对于区域设置日期部分,内容可能错误,因为它位于错误的时区。若要解决此问题,请将时区偏移分钟数添加到日期对象,以获得正确的区域设置时间和日期

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

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

谢谢。。但是,我的问题仍然没有答案。| new date().toISOString().split('T')[0];以yyyy-MM-dd格式为我提供了日期。但是,如何使用该格式确定用户系统的dateformat设置。我必须在日期字段和文本字段中将来自后端的日期格式设置为区域设置格式。我编辑了答案,以明确在使用输入日期类型时语言区域设置是独立的。唯一的当您同时使用时间时,需要考虑时区,这是一个棘手的问题。但这是一个不同的表单输入,并非所有浏览器都可以使用。另一方面,如果您想了解用户计算机日期格式的配置,可以使用
var a=new date().tolocalstring().split(',')[0];
。但是此格式可能与HTML5日期输入控制器不兼容。感谢您的回答。.如何使用var a=new date().toLocaleDateString();而不是var a=new date().toLocaleString()。拆分(',')[0]?更具体地说,我正在寻找以下内容:如果用户系统设置的日期格式为2018年6月25日,我希望格式为MM/dd/yyyy如果用户系统设置的日期格式为2018年6月25日,我希望格式为dd.MM.yyyy,因此我正在寻找的程序应该给我MM/dd/yyyy或dd.MM.yyyyy或用户使用的任何格式系统您是对的。如果您只对日期部分感兴趣
。toLocalDateString()
可以避免所有其他额外的代码来排除时间部分。我认为浏览器更可靠地提取正确的区域设置。问题:您想获得“现在”吗用户的时间,或者是否要在用户区域设置上设置外部日期的格式以向用户显示?的可能重复项