Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.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 使用Angular js获取系统日期格式_Javascript_Angularjs_Date - Fatal编程技术网

Javascript 使用Angular js获取系统日期格式

Javascript 使用Angular js获取系统日期格式,javascript,angularjs,date,Javascript,Angularjs,Date,我想使用Angular js获取系统日期格式。用户可能已将其选择为dd/mm/YYYY、dd/mm/yy。。。等等,它可以是用户在其计算机上选择的任何日期格式。可以获取日期格式吗 --编辑-- 我没有像2016年12月10日、2016年12月10日这样的日期值。。。因此,对于这个日期值,我还需要从用户的系统中选择与用户选择的格式相同的格式。我认为,仅使用Javascript无法找到他/她的计算机日期格式。如果您在后端使用某种动态语言,您应该尝试以这种方式检索时间格式。我认为您仅使用Javascr

我想使用Angular js获取系统日期格式。用户可能已将其选择为dd/mm/YYYY、dd/mm/yy。。。等等,它可以是用户在其计算机上选择的任何日期格式。可以获取日期格式吗

--编辑--


我没有像2016年12月10日、2016年12月10日这样的日期值。。。因此,对于这个日期值,我还需要从用户的系统中选择与用户选择的格式相同的格式。

我认为,仅使用Javascript无法找到他/她的计算机日期格式。如果您在后端使用某种动态语言,您应该尝试以这种方式检索时间格式。

我认为您仅使用Javascript无法找到他/她的计算机日期格式。如果您在后端使用一些动态语言,您应该尝试以这种方式检索时间格式。

我认为您可以查看Mozilla MDN,但我相信JS无法获取这些信息,因为JS依赖于浏览器API。因此,如果浏览器API提供了这一点,那么使用任何框架(如.Net或Java等)都没关系。

我认为您可以检查Mozilla MDN,但我相信JS无法获得这些信息,因为JS依赖于浏览器API。因此,如果浏览器API提供了这一点,那么可以使用任何框架,如.Net或Java等。

不是一个完整的解决方案,但只能用作参考,您可以添加对新格式的支持

逻辑
  • 为每年都存在的特定日期创建日期对象。日期:2016年12月31日
  • 现在搜索第一个非字母数字字符。这是您的分隔符
  • 现在有了3个部分,您可以通过将值与
    31
    进行比较,轻松找到
    dd
  • 即使是年份部分也很简单,因为它可以有两个值,
    16
    2016
  • 这个月可能会很棘手。它可以有
    12
    Dec
    December
    。为此,您可以有两张支票。如果数字和等于12,则为mm。如果非数字和长度为3,则其
    mmm
    else
    mmmm
现在您可以创建
var d=new Date('2016/12/31')
并将
d.toLocaleDateString()
传递给下面的函数

函数getDateFormat(dateStr){ var delimiter=dateStr.match(/[^0-9a-z]/i)[0]; var dateParts=dateStr.split(分隔符); var r=dateParts.map(函数(d,i){ 如果(d==31){ 返回“dd” }如果(!isNaN(d)和&(d==2016 | |(d+2000)==2016)){ 返回d.toString().length==4?“yyy”:“yy” }否则如果(d==12){ 返回“mm” }否则,如果(isNaN(d)){ 变量t=d.replace(/[^a-z]/gi',) 返回_t.length==3?“mmm”:“mmmm” } }); 返回r.join(分隔符); } Date.prototype.getSystemDateFormat=函数(){ 返回getDateFormat(新日期('2016/12/31')。toLocaleDateString()); } //或 Date.prototype.SYSTEM_格式=(函数(){ 返回getDateFormat(新日期('2016/12/31')。toLocaleDateString()); })() console.log(新日期().getSystemDateFormat()) console.log(新日期().SYSTEM\u格式) var d1=“12/31/2016” console.log(getDateFormat(d1)) d1=“31/12/2016” console.log(getDateFormat(d1)) d1=“2016年12月31日” console.log(getDateFormat(d1)) d1=“2016年12月31日” console.log(getDateFormat(d1)) d1=“31-12-2016” console.log(getDateFormat(d1)) d1=“31.12.2016”
log(getDateFormat(d1))不是一个完整的验证解决方案,但只能用作参考,您可以添加对新格式的支持

逻辑
  • 为每年都存在的特定日期创建日期对象。日期:2016年12月31日
  • 现在搜索第一个非字母数字字符。这是您的分隔符
  • 现在有了3个部分,您可以通过将值与
    31
    进行比较,轻松找到
    dd
  • 即使是年份部分也很简单,因为它可以有两个值,
    16
    2016
  • 这个月可能会很棘手。它可以有
    12
    Dec
    December
    。为此,您可以有两张支票。如果数字和等于12,则为mm。如果非数字和长度为3,则其
    mmm
    else
    mmmm
现在您可以创建
var d=new Date('2016/12/31')
并将
d.toLocaleDateString()
传递给下面的函数

函数getDateFormat(dateStr){ var delimiter=dateStr.match(/[^0-9a-z]/i)[0]; var dateParts=dateStr.split(分隔符); var r=dateParts.map(函数(d,i){ 如果(d==31){ 返回“dd” }如果(!isNaN(d)和&(d==2016 | |(d+2000)==2016)){ 返回d.toString().length==4?“yyy”:“yy” }否则如果(d==12){ 返回“mm” }否则,如果(isNaN(d)){ 变量t=d.replace(/[^a-z]/gi',) 返回_t.length==3?“mmm”:“mmmm” } }); 返回r.join(分隔符); } Date.prototype.getSystemDateFormat=函数(){ 返回getDateFormat(新日期('2016/12/31')。toLocaleDateString()); } //或 Date.prototype.SYSTEM_格式=(函数(){ 返回getDateFormat(新日期('2016/12/31')。toLocaleDateString()); })() console.log(新日期().getSystemDateFormat()) console.log(新日期().SYSTEM\u格式) var d1=“12/31/2016” console.log(getDateFormat(d1)) d1=“31/12/2016” console.log(getDateFormat(d1)) d1=“2016年12月31日” console.log(getDateFormat(d1)) d1=“2016年12月31日” console.log(getDateFormat(d1)) d1=“31-12-2016” console.log(getDateFormat(d1)) d1=“31.12.2016”
log(getDateFormat(d1))AFAIK,浏览器不提供有关itI的信息。我有一些资源,但我不清楚如何使用它。谢谢可能会有帮助。这感觉像是一个XY问题。您想做一些未知的事情(X),并且相信获取系统日期格式(Y)将解决您的问题。你问的是Y,但不清楚为什么你首先需要解Y,因为Y并不是任何问题的通用解决方案。“从用户系统中选择”是什么意思?你好像很困惑。如果您在HT中显示
日期
选取器