Angular 如何复制“新日期()”格式?

Angular 如何复制“新日期()”格式?,angular,angular-material,angular-material2,Angular,Angular Material,Angular Material2,我用的是什么 角材料日期选择器 矩.js 火库 我在做什么 当我创建一个新项目并将其添加到firestore时,我会使用“new date”添加一个日期 这将创建以下格式it firestore:2017年10月13日上午9:00:04 UTC+1 这正是我想要的 材料日期选取器读取此信息非常精细,并显示2017年10月13日 我想做什么 如果我编辑该项并从物料日期选择器中选择一个新日期并点击“更新”,我想转换日期选择器值,该值当前为字符串18/12/2017,例如 在回写数据库之前,我希望格式

我用的是什么

角材料日期选择器 矩.js 火库 我在做什么

当我创建一个新项目并将其添加到firestore时,我会使用“new date”添加一个日期

这将创建以下格式it firestore:2017年10月13日上午9:00:04 UTC+1

这正是我想要的

材料日期选取器读取此信息非常精细,并显示2017年10月13日

我想做什么

如果我编辑该项并从物料日期选择器中选择一个新日期并点击“更新”,我想转换日期选择器值,该值当前为字符串18/12/2017,例如

在回写数据库之前,我希望格式类似于2017年12月18日UTC+1上午9:00:04

问题

我该怎么做呢? 是片刻转换吗? 或者,材料日期选择器有哪些选项可以帮助我? Component.html


Test Date您可以尝试利用字符串制作一段时间,并将其格式化如下:

//dateTestnewItemDate{ //这样,您就可以从字符串中获得一个瞬间: 让newItemDate=时刻'13/10/2017','DD/MM/yyyyy'。格式为mmmm-DD,yyyyy H:MM:SS A Z; console.lognewItemDate; // }
您可以使用内置的日期格式功能:

 dateTest(newItemDate) {    

    var formatedDate = new Date(newItemDate);

    // UTC Date
    console.log(formatedDate.toUTCString());

    // ISO Date
    console.log(formatedDate.toISOString());

  }

链接到。

因此,希望您自己尝试编写代码。如果你有问题,你可以把你尝试过的东西贴出来,清楚地解释什么不起作用,并提供一个答案。谢谢你的回复。我可以很容易地发布不起作用的内容,因此我在这里的原因…它不会改变我的问题以及我需要帮助的内容。你需要发布你尝试过的不起作用的代码。还有一个简单的例子,不是所有的。详细的日期表示是一个标准,但是数据库SQL DATETIME宁愿只由一个日期对象填充,SQL会选择“2017-12-18T17:30:00”或其变体。嘿@OArnarsson!谢谢你的回复。我的控制台显示:您输入的日期是:1456444800000。这会是一个重要的日期选择吗?@威震天我已经更新了片段,它还能给你划时代的时间吗?嘿,伙计,谢谢!看起来更近了。但是,矩将一个错误记录到控制台:矩.min.js:23弃用警告:提供的值不是公认的ISO格式。即时构造可以追溯到js日期,这在所有浏览器和版本中都不可靠。不鼓励使用非ISO日期格式,并将在即将发布的主要版本中删除。有关详细信息,请参阅。@MegaTron I再次更新,是否仍产生错误?是的,很遗憾:我很感激你花时间检查这个。你好,费萨尔。我的日期区域设置可能设置为英国或美国。在你的例子中是我们。在本例中,当我的设置为UK时,我会出现以下错误:UTC=Invalid Date/ISO=ERROR RangeError:Invalid time Values我已经用US模式对其进行了测试,结果非常理想。我可以读写firestore,就像一个魔咒。当我使用dateAdapter.setLocale'en-gb';,它不工作。请参阅更新的演示。我已经添加了将en GB格式化为en US格式的方法,然后继续进行日期转换。谢谢。绝对巫师。另外,感谢@OArnarsson花时间回复: