我想询问是否有人知道如何从以下示例中删除日期名称,警报返回2020年2月29日星期六,我不使用Moment.js只有Jquery,因为我只需要能够处理日期中的日期下面写为代码的格式。
var mydate = new Date('29 Feb 2020');
alert(mydate.toDateString());
感谢您阅读此问题并希望我明确我的问题是什么
答案 0 :(得分:3)
Date#toDateString
方法将始终以特定格式返回。
因此,您需要使用其他可用方法生成,或者可以使用多种方法删除,
<小时/> 1.使用
String#split
,Array#slice
和Array#join
Get-Event
&#13;
<小时/> 2.使用
String#replace
var mydate = new Date('29 Feb 2020');
// split based on whitespace, then get except the first element
// and then join again
alert(mydate.toDateString().split(' ').slice(1).join(' '));
&#13;
<小时/> 3.使用
String#indexOf
和String#substr
var mydate = new Date('29 Feb 2020');
// replace first nonspace combination along with whitespace
alert(mydate.toDateString().replace(/^\S+\s/,''));
&#13;
答案 1 :(得分:0)
如果你有一个Date对象实例并且只想要它的某些部分我会选择Date object API:
mydate.getDate() + ' ' + mydate.toLocaleString('en-us', { month: "short" }) + ' ' + mydate.getFullYear()
请记住,函数是基于本地时间的(有UTC变体,例如getUTCDate()
),也是为了防止某些混淆getMonth()
从零开始。在JavaScript中使用日期是真正有趣的开始;)
toLocaleString
功能相对较新(IE11 +),如果您需要支持旧浏览器,请检查other possibilities。
答案 2 :(得分:0)
最简单的方法是从字符串中替换所有字母字符。这样,一旦名字处于不同的位置,你就不会犯错。
(function(c) {
var calendarOptions = {
schedulerLicenseKey: '',
header : {
left : 'prevYear,prev today next,nextYear',
center: 'title',
right : 'month,agendaWeek,agendaDay'
},
events : {
url : '{{ url("calendar/events-json-calendar") }}',
data: function () {
return {
id : $('#calendarsselect').val(),
showDeleted: $('#showDeletedEvents').is(':checked'),
};
}
},
selectable : true,
selectHelper : true,
theme : false,
slotDuration : '00:15:00',
defaultView : 'agendaWeek',
timeFormat : 'H:mm',
slotLabelFormat : 'H:mm',
editable : false,
firstDay : 1,
weekMode : 'liquid',
weekNumbers : true,
weekNumberTitle : "T: ",
minTime : '06:00:00',
maxTime : '20:00:00',
locale : 'sk',
scrollTime : '00:00',
aspectRatio : 1.9,
slotEventOverlap : false,
droppable : true,
lazyFetching : false,
eventAfterAllRender : function (view, element) {
var date = moment(c.fullCalendar('getDate')).format('YYYY-MM-DD');
$.ajax({
url : '{{ url('calendar/worktime/get/minmaxtime') }}',
dataType: "json",
data : {
calendar_id : $('#calendarsselect').val(),
date : date
},
success : function (data) {
console.log(data);
if ( data[0] != '23:59:59')
{
c.fullCalendar('option','minTime',data[0]);
}
if ( data[1] != '00:00:00')
{
c.fullCalendar('option','maxTime',data[1]);
}
}
});
}
};
c.fullCalendar(calendarOptions);
})($('#calendar'));
代码var withoutDay = '29 Feb 2020'.replace(/[a-zA-Z]{0,1}/g,'').replace(' ', ' ');
alert(withoutDay);
将替换字符串中的所有字母字符,replace(/[a-zA-Z]{0,1}/g,'')
将删除双重空格。
我希望这会有所帮助。
答案 3 :(得分:0)
正确的方法是使用DateTimeFormat。您可以通过操作 DateTimeFormat 中的格式对象来玩转。
let myDate = new Date('29 Feb 2020');
let formattedDate = new Intl.DateTimeFormat("en-US", {
year: "numeric",
month: "short",
day: "2-digit",
}).format(myDate);
alert(formattedDate)