首页 > 解决方案 > 在离子/角度中将字符串日期“d/m/y”格式化为“dd/mm/yyyy”

问题描述

我在将字符串日期从“d/m/y”转换为“dd/mm/yyyy”时遇到问题,例如:我想将 26/8/19 转换为 26/08/2019。

我尝试过:

let date = 26/8/19
var d = new Date(date); 
console.log(d)

结果:无效日期。

尝试使用角度管道定位,使用日期管道 {{date | date:'dd/mm/yyyy'}} 它甚至没有显示日期。

使用了其他一些数据转换管道,但结果我得到了其他日期,例如“26/08/1950”等。

欢迎任何帮助。

提前致谢。

标签: javascripttypescriptionic-framework

解决方案


Javascript 对可以作为日期传递的字符串的格式非常具体,并且26/8/19不包括格式。即使有办法确定字符串中的天/月/年顺序,一个数字19也可以指任何以 19 结尾的年份(例如 1819、1919、2019 等)

有关字符串格式的更多信息,请参阅: https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse

对于您的具体情况,我建议拆分字符串并使用这些值来重建日期

const d = "26/8/19"
const args = d.split('/')
const day = args[0]
const month = args[1]
const year = "20"+args[2]
const date = new Date(year+'/'+month+'/'+day)

推荐阅读