Javascript从日期中删除日期名称

时间:2018-01-22 14:46:07

标签: javascript jquery date

我想询问是否有人知道如何从以下示例中删除日期名称,警报返回2020年2月29日星期六,我不使用Moment.js只有Jquery,因为我只需要能够处理日期中的日期下面写为代码的格式。

var mydate = new Date('29 Feb 2020');
alert(mydate.toDateString());

感谢您阅读此问题并希望我明确我的问题是什么

4 个答案:

答案 0 :(得分:3)

Date#toDateString方法将始终以特定格式返回。

因此,您需要使用其他可用方法生成,或者可以使用多种方法删除,

<小时/> 1.使用String#splitArray#sliceArray#join

&#13;
&#13;
Get-Event
&#13;
&#13;
&#13;

<小时/> 2.使用String#replace

&#13;
&#13;
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;
&#13;
&#13;

<小时/> 3.使用String#indexOfString#substr
&#13;
&#13;
var mydate = new Date('29 Feb 2020');
// replace first nonspace combination along with whitespace
alert(mydate.toDateString().replace(/^\S+\s/,''));
&#13;
&#13;
&#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)