【问题标题】:Uppercase first letter in moment js时刻js中的大写第一个字母
【发布时间】:2020-11-11 16:45:42
【问题描述】:
有没有办法使用 moment js 将第一个字母变成大写?
Current output:
moment([20016, 0, 29]).fromNow(); // 4 years ago
Expected output:
moment([2016, 0, 29]).fromNow(); // 4 Years Ago
【问题讨论】:
标签:
javascript
reactjs
momentjs
【解决方案1】:
.capitalize {
text-transform: capitalize;
}
应用下面的类会给你想要的效果。
编辑:
如果你不喜欢 CSS,这里有几个不同的例子来说明如何使用 JS here。
【解决方案2】:
您可以使用String.prototype.replace() 和regex 来实现:
console.log(moment([2016, 0, 29]).fromNow().replace(/\b[a-z]/, match => match.toUpperCase()));
<script src="https://momentjs.com/downloads/moment.js"></script>
String.prototype.replace() 还获取一个函数作为第二个参数:
要调用的函数来创建新的子字符串,该子字符串用于将匹配项替换为给定的正则表达式或子字符串。
String.prototype.replace()
【解决方案3】:
这是另一种方式。
console.log(moment([2016, 0, 29]).fromNow().split(' ').map(word => word[0].toUpperCase() + word.slice(1)).join(' '));
<script src="https://momentjs.com/downloads/moment.js"></script>