Min*_*ger 2 javascript ordinal google-sheets date-formatting google-apps-script
我到处寻找一个简单的函数来将日期(在我的例子中,由 Google 表单给出)转换为合同中使用的序数格式:
即2018年5月25日
有一个人提出了这个问题,其他人将其标记为重复,然后引用了另一个根本没有回答他的问题的答案!所以对于那些需要这个的人来说 - 这是一个简单的函数:
function ordinal(date) {
var d = date.getDate();
var month = new Array ();
month[0] = "January";
month[1] = "February";
month[2] = "March";
month[3] = "April";
month[4] = "May";
month[5] = "June";
month[6] = "July";
month[7] = "August";
month[8] = "September";
month[9] = "October";
month[10] = "November";
month[11] = "December";
var m = month[date.getMonth()];
var y = date.getYear();
return d + (d > 0 ? ['th', 'st', 'nd', 'rd'][(d > 3 && d < 21) || d % 10 > 3 ? 0 : d % 10] : '') + " day of " + m +", " + y;
}
Run Code Online (Sandbox Code Playgroud)
很多时候,刚接触某个平台的开发人员最终都会重新发明轮子。实现已经提供的逻辑(根据经验)。没有现成的解决方案可以添加这些后缀(st、nd、rd、th),但是,在您的情况下,您可以利用该Utilities.formatDate()方法使事情变得更容易一些:
function getOrdinal(date) {
var d = date.getDate(),
suffix = ['th', 'st', 'nd', 'rd'][(d > 3 && d < 21) || d % 10 > 3 ? 0 : d % 10];
return Utilities.formatDate(date, Session.getScriptTimeZone(), "d'" + suffix + " day of' MMMM, yyyy");
}
Run Code Online (Sandbox Code Playgroud)
一点建议,始终从规范来源开始搜索。这需要一段时间,但如果您打算定期利用 Google Apps 脚本(或任何与此相关的语言),那么最好熟悉官方文档和参考资料。
| 归档时间: |
|
| 查看次数: |
2557 次 |
| 最近记录: |