javascript - javascript - 如果日期仅由年和月组成,则将日期显示为不带“01”填充的字符串
问题描述
我正在获取某种格式的日期 ('yyyymmdd' 或 'yyyymm'),并且需要在我当前的语言环境中将其显示为字符串。
对于此示例,区域设置为“en-GB”。
当我得到完整格式(yyyymmdd)时,我正在预设 dd/mm/yyyy,如果它是部分(yyyymm)我需要显示 mm/yyyy,但我得到 01/mm/yyyy,我该如何解决?
这是我的功能-
getDateStrFromEsploro(date: string){
if (date.length === 8){
const year = date.substring(0,4);
const month = date.substring(4,6);
const day = date.substring(6);
return DateUtils.getDateAsString(new Date(parseInt(year), parseInt(month)-1, parseInt(day)));
} else if (date.length === 6){
const year = date.substring(0,4);
const month = date.substring(4,6);
return DateUtils.getDateAsString(new Date(parseInt(year), parseInt(month)-1));
}
}
我的 DateUtils-
public static getDateAsString(date: Date) {
return date.toLocaleDateString();
}
解决方案
使用toLocaleDateString()
选项参数
// without options
console.log(new Date(2019, 7).toLocaleDateString('en-GB'))
// with options
let date = new Date(2019, 7).toLocaleDateString('en-GB', {
year: 'numeric',
month: 'numeric',
});
console.log(date)
推荐阅读
- ssh - 将 OpenNebula 数据存储从本地 FS 迁移到 NFS 的建议
- jupyter-notebook - 使用pytorch时无法在jupyter笔记本中导入'torchtext'模块
- ios - 应用内购买:产品标识符的排序数组
- android - 平台不支持SSR
- mysql - django.db.utils.OperationalError: (1045, u"Access denied for user 'my_user'@'localhost' (using password: NO)")
- batch-file - 从上下文菜单中复制文件的父目录路径
- android - 当我按下 Home 键时,应用程序会被置于后台吗?
- c++ - C++ - 奇数互易不等式
- sql - Jasper 报告 - 如何使用 SQL 将日期参数作为“日”、“月”、“年”部分从 java 传递到 jasper 报告
- generics - dart 如何获取带索引的枚举?