我已将日期转换为字符串。现在,我想解析一个字符串以获得DD-MM-YYYY
的DD
部分。如何从整个日期只获取日期的第一部分('DD')?
例如,
如果日期是03-05-2017
(DD-MM-YYYY
),那么我们的目标是获取字符串即03
(DD
)的只有第一部分。
我已将日期转换为字符串。现在,我想解析一个字符串以获得DD-MM-YYYY
的DD
部分。如何从整个日期只获取日期的第一部分('DD')?
例如,
如果日期是03-05-2017
(DD-MM-YYYY
),那么我们的目标是获取字符串即03
(DD
)的只有第一部分。
您已将此问题标记为ServiceNow问题,因此我假设您使用ServiceNow GlideDateTime类将日期作为字符串派生。如果这是正确的,你知道你实际上可以直接从GlideDateTime对象派生出一个月的哪一天吗?您可以使用getDayOfMonth(),getDayOfMonthLocalTime()或getDayOfMonthUTC()。
当然,您也可以使用String.prototype.indxOf()来获取第一个连字符的位置,然后使用String.prototype.slice()将所有位置返回到该位置。
或者,如果你确信月份的字符串中的日子将包含一个初始零,你可以简单地从指数0到索引2
var date = '03-05-2017';
var newDate = date.slice(0, 2);
console.log(newDate); //==>Prints "03".
var alternateNewDate = date.slice(0, date.indexOf('-'));
console.log(alternateNewDate); //==>Prints "03".
我无法使用任何GlideDateTime对象的函数。这是给我'空'输出。这就是我必须将日期类型转换为字符串,然后再转换为整数才能执行某些操作的原因。 –
然后我的其他建议应该为你工作,比如底部的脚本剪辑。 :-) –
.slice()出一个新的字符串因为'DD-MM-YYYY'格式是固定长度的,所以你可以对它进行子串处理。 – aircraft