Rea*_*der 13 javascript typescript ionic-framework angular ionic4
我在 ionic4 中使用 ion-datetime 使用 NgModel 绑定到一个属性,但是,无论我在格式中包含什么选项,我总是得到包含时间戳的时间。¿如何从结果中删除时间戳,以便我的属性的最终值类似于“2019-04-22”而不是“2019-04-22T08:45:41.243-05:00”?
我试过了:但是,我仍然得到时间戳
<ion-datetime max="2030" min="2019" [(ngModel)]="mydate" display-format="MMM DD, YYYY"></ion-datetime>
Run Code Online (Sandbox Code Playgroud)
我希望结果类似于:“2019-04-22”,但我不断收到:“2019-04-22T08:45:41.243-05:00”
如果你只想要日期,那么我认为 split() 方法可能有效,因为我们从 ion-datetime 得到的值是一个字符串。所以我们使用 split 方法将字符串拆分并将其转换为数组,你可以获得日期或时间在索引的帮助下你想要的东西如下:
var dateFormat = mydate.split('T')[0];
console.log(dateFormat);
// 2019-04-22
Run Code Online (Sandbox Code Playgroud)
Edit2:toLocaleFormat 没有被广泛接受。这是一篇关于替代方案的帖子。您可以将其拆分为T.
const dateArray = fullDateString.split('T');
if (dateArray.length > 0){
const partYouWant = dateArray[0];
}
Run Code Online (Sandbox Code Playgroud)
编辑:来自 Ionic 文档
还需要注意的是,displayFormat 或 pickerFormat 都无法设置日期时间值的输出,这是由组件的 ngModel 设置的值。该格式仅用于将值显示为文本和选择器界面,但日期时间的值始终保留为有效的 ISO 8601 日期时间字符串。
这是一个更好的答案:
const dateObject = new Date(this.mydate);
const dateString = dateObject.toLocaleFormat('%Y-%m-%d');
Run Code Online (Sandbox Code Playgroud)
的输入new Date可以是日期字符串,定义为:
表示日期的字符串值。该字符串应采用 Date.parse() 方法识别的格式(符合 IETF 的 RFC 2822 时间戳以及 ISO8601 的版本)。
我猜您正在尝试this.mydate在代码中访问。
您有多种选择,最好的体现是这个堆栈溢出帖子。
this.mydate.toLocaleFormat('%Y-%m-%d');
Run Code Online (Sandbox Code Playgroud)
该函数将获取一个Date对象并将其转换为您请求的格式的字符串。所有你可以放入选项的选项都在这里。
上面的堆栈溢出帖子中还显示了许多其他选项。
| 归档时间: |
|
| 查看次数: |
15498 次 |
| 最近记录: |