• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

How can I get previous 2 day and next 2 day on calendar.

Explorer ,
Nov 03, 2017 Nov 03, 2017

Copy link to clipboard

Copied

I know today " currDateTime.date ".  I need to 2 previous and 2 next day on calendar for use this information on another mc.

Example:                  

previous 2previous1TodayNext 1
Next2
2829123

package  {

    import flash.display.Sprite;

    import flash.text.TextFormat;

    import flash.text.TextField;

   

    import flash.events.Event;

    import fl.controls.ComboBox;

    import fl.data.DataProvider;

    import fl.controls.NumericStepper;

   

    public class Calendar extends Sprite {

   

        //variables

        private var cellW:Number; //cell width

        private var cellP:Number; //cell padding

        private var allDatesCells:Array = new Array();

        private var dateCellFormat:TextFormat;

       

        private var weekDays:Array = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");

        private var dayLabelTxtFmt:TextFormat;

               

        private var currDateTime:Date = new Date();

        private var firstDay:Date = new Date(currDateTime.fullYear,currDateTime.month,1);

        private var firstDayColumn:uint = firstDay.day;

        private var daysOfMonths:Array = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

        private var maxDays:uint;

       

        private var months:Array = [

                                    {label:"January", data:0},

                                    {label:"February", data:1},

                                    {label:"March", data:2},

                                    {label:"April", data:3},

                                    {label:"May", data:4},

                                    {label:"June", data:5},

                                    {label:"July", data:6},

                                    {label:"August", data:7},

                                    {label:"September", data:8},

                                    {label:"October", data:9},

                                    {label:"November", data:10},

                                    {label:"December", data:11},

                                   ];

        private var monthPickerCB:ComboBox; //combobox to pick a month

        private var yearPickerNS:NumericStepper; //numeric stepper to pick a year

       

       

        public function Calendar( fontFace:String = "Arial", fontSize:int = 15,

                                  cellWidth:Number = 30, padding:Number = 3,

                                  originX:Number = 15, originY:Number = 15,

                                  cbX:Number = 15, cbY:Number = 15,

                                  nsX:Number = 26, nsY:Number = 15,

                                  monthsRange:int = 39 )

        {

            cellW = cellWidth;

            cellP = padding;

       

            monthPickerCB = new ComboBox();

           

            yearPickerNS = new NumericStepper();

       

            setTextFormat( fontFace, fontSize );

       

            makeDatesCellGrid( originX, originY );

       

            makeDaysLabels( originX, originY );

       

            monthSetup();

       

            monthPicker( cbX, cbY );

           

            yearPicker( nsX, nsY, monthsRange );

       

        }

       

        private function setTextFormat(whichFont:String, size:int):void    {

           

            //date text format

            dateCellFormat = new TextFormat();

            dateCellFormat.font = whichFont;

            dateCellFormat.color = 0xFFFFFF;

            dateCellFormat.size = size;

            dateCellFormat.align = "center";

            //day label text format

            dayLabelTxtFmt = new TextFormat();

            dayLabelTxtFmt.font = "_sans";

            dayLabelTxtFmt.color = 0x000000;

            dayLabelTxtFmt.size = size - 3;   

        }

       

        private function makeDatesCellGrid(cellXPos:Number, cellYPos:Number):void {

            //Create grid of date cells

            for (var i:int = 0; i < 42; i++) {

                var dateCell:TextField = new TextField();

                addChild(dateCell);

               

                //position cells to form a grid (7 x 6 = 42)

                dateCell.x = cellXPos + (cellW * (i-(Math.floor(i/7)*7)));

                dateCell.y = cellYPos + (cellW * Math.floor(i/7));

                //put all date cells into array for further access

                allDatesCells.push(dateCell);

            }

        }

       

        private function makeDaysLabels(cellXPos:Number, cellYPos:Number):void {

           

            //Add week day names

            for (var i:int = 0; i < 7; i++)    {

                var dayLabel:TextField = new TextField();

                addChild(dayLabel);

                dayLabel.selectable = false;

                dayLabel.text = weekDays;

                dayLabel.setTextFormat(dayLabelTxtFmt);

                dayLabel.x = cellXPos + (cellW * i);

                dayLabel.y = cellYPos - 15;

            }

        }

       

        private function monthSetup():void {

           

            for (var i:int = 0; i < 42; i++){

                           

                allDatesCells.text = "";

               

                //decor all cells

                allDatesCells.background = true;

                allDatesCells.backgroundColor = 0x005555;

                allDatesCells.border = true;

                allDatesCells.borderColor = 0xCCCCCC;

                allDatesCells.selectable = false;

                allDatesCells.width = allDatesCells.height = cellW - cellP;

                allDatesCells.setTextFormat(dateCellFormat);

            }

           

            arrangeDates();

            prevMonthDates();

            nextMonthDates();

        }

       

        private function arrangeDates():void {

           

            //get column number for first day of the month

            if (firstDay.day == 0)

            {

                //when last date of previous month is on saturday then move to second row

                firstDayColumn = firstDay.day + 7;

            }

            else

            {

                firstDayColumn = firstDay.day;

            }

           

            //get max days for current month w.r.t leap year if any

            maxDays = (firstDay.getFullYear()%4 == 0 && firstDay.getMonth() == 1 ? 29 : daysOfMonths[firstDay.getMonth()]);

           

            //put dates for current month

            for (var i:int = 0; i < maxDays; i++) {

       

                allDatesCells[firstDayColumn + i].text = i + 1;

                allDatesCells[firstDayColumn + i].setTextFormat(dateCellFormat);

       

                allDatesCells[firstDayColumn + i].alpha = 1;

       

                //Highlight today

                if (firstDay.fullYear == currDateTime.fullYear && firstDay.month == currDateTime.month)

                {                   

                    if(allDatesCells[firstDayColumn + i].text == currDateTime.date)

                    {

                        allDatesCells[firstDayColumn + i].backgroundColor = 0xEE5D15;

                        trace(currDateTime.date +i);

                    }

                }

            }

        }

       

        private function prevMonthDates():void {

            var prevMonthFirstDay:Date = new Date(firstDay.fullYear,firstDay.month,firstDay.date - 1);

            for (var i:int = firstDayColumn-1; i >= 0; i--) {

               

                allDatesCells.text = prevMonthFirstDay.date - ((firstDayColumn - 1) - i);

                allDatesCells.setTextFormat(dateCellFormat);

                allDatesCells.alpha = 0.5;

            }

        }

       

        private function nextMonthDates():void {

           

            for (var i:int = 1; i < (42 - maxDays - (firstDayColumn - 1)); i++){

               

                allDatesCells[(firstDayColumn - 1) + i + maxDays].text = i;

                allDatesCells[(firstDayColumn - 1) + i + maxDays].setTextFormat(dateCellFormat);

                allDatesCells[(firstDayColumn - 1) + i + maxDays].alpha = 0.5;

            }

        }

       

        private function monthPicker(cbX:Number, cbY:Number):void {

            monthPickerCB.dataProvider = new DataProvider(months);

            addChild(monthPickerCB);

       

            //position combobox

            monthPickerCB.x = cbX;

            monthPickerCB.y = (cellW * 6) + cbY;

       

            monthPickerCB.selectedIndex = currDateTime.month;

       

            monthPickerCB.addEventListener(Event.CHANGE, pickMonth);

        }

        private function pickMonth(e:Event):void {

       

            firstDay.month = ComboBox(e.target).selectedItem.data;

            monthSetup();

        }

       

        private function yearPicker(nsX:Number, nsY:Number, maxYrsRange:int):void {

           

            yearPickerNS.maximum = currDateTime.fullYear + maxYrsRange;

            yearPickerNS.minimum = currDateTime.fullYear - maxYrsRange;

            yearPickerNS.value = currDateTime.fullYear;

            addChild(yearPickerNS);

           

            //position numeric stepper

            yearPickerNS.x = monthPickerCB.width + nsX;

            yearPickerNS.y = (cellW * 6) + nsY;

            yearPickerNS.addEventListener(Event.CHANGE, pickYear);

        }

        private function pickYear(e:Event):void    {

           

            firstDay.fullYear = e.target.value;

            monthSetup();

        }

    }

}

Thanks for any help.

TOPICS
ActionScript

Views

384

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 04, 2017 Nov 04, 2017

Copy link to clipboard

Copied

hi, use prevNextDate()

var today:Date=new Date();

var oneday:int = 24*60*60*1000;

var prev1Day:Date=prevNextDate(-1);

var prev2Day:Date=prevNextDate(-2);

var next1Day:Date=prevNextDate(1);

var next2Day:Date=prevNextDate(2);

etc

function prevNextDate(n:int):Date){

return new Date(today.time-n*oneday);

}

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 10, 2017 Nov 10, 2017

Copy link to clipboard

Copied

Thank you kglad I  use similar this

Add in class file

static public var binko:Number=0;//current day

        static public var sinko:Number=0;//current day

        static public var gecenson:Number=0;//end of the prev month

        static public var buaysonu:Number=0;//end of the current month

       

       

then use this code on frame

if(Calendar.sinko==1){

    birsay.text=String(Calendar.gecenson-1)

    ikisay.text=String(Calendar.gecenson)

    ucsay.text=String(Calendar.sinko)

    dortsay.text=String(Calendar.sinko+1)

    bessay.text=String(Calendar.sinko+2)

}else if(Calendar.sinko==2){

    birsay.text=String(Calendar.gecenson)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text=String(Calendar.sinko+1)

    bessay.text=String(Calendar.sinko+2)

}else if(Calendar.sinko<27 && Calendar.binko>2){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text=String(Calendar.sinko+1)

    bessay.text=String(Calendar.sinko+2)

   

    //FEBRUARY IF 28

   

}else if(Calendar.sinko==27 && Calendar.binko>2 && Calendar.buaysonu==28 ){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text=String(Calendar.sinko+1)

    bessay.text="1";

   

}else if(Calendar.sinko==28 && Calendar.binko>2 && Calendar.buaysonu==28 ){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text="1";

    bessay.text="2";

   

}

    //FEBRUARY IF 29

else if(Calendar.sinko==27 && Calendar.binko>2 && Calendar.buaysonu==29 ){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text=String(Calendar.sinko+1)

    bessay.text=String(Calendar.sinko+2)

    trace("29/1")

}else if(Calendar.sinko==28 && Calendar.binko>2 && Calendar.buaysonu==29 ){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text=String(Calendar.sinko+1)

    bessay.text="1";

    trace("29/2")

}else if(Calendar.sinko==29 && Calendar.binko>2 && Calendar.buaysonu==29 ){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text="1";

    bessay.text="2";

    trace("29/3")

}

///NORMAL 30

else if(Calendar.sinko==27 && Calendar.binko>2 && Calendar.buaysonu==30 ){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text=String(Calendar.sinko+1)

    bessay.text=String(Calendar.sinko+2)

    trace("30/1")

}else if(Calendar.sinko==28 && Calendar.binko>2 && Calendar.buaysonu==30 ){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text=String(Calendar.sinko+1)

    bessay.text=String(Calendar.sinko+2)

    trace("30/2")

}else if(Calendar.sinko==29 && Calendar.binko>2 && Calendar.buaysonu==30 ){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text=String(Calendar.sinko+1)

    bessay.text="1";

    trace("30/3")

}else if(Calendar.sinko==30 && Calendar.binko>2 && Calendar.buaysonu==30 ){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text="1";

    bessay.text="2";

    trace("30/4")

}

///NORMAL 31

else if(Calendar.sinko==27 && Calendar.binko>2 && Calendar.buaysonu==31 ){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text=String(Calendar.sinko+1)

    bessay.text=String(Calendar.sinko+2)

    trace("31/1")

}else if(Calendar.sinko==28 && Calendar.binko>2 && Calendar.buaysonu==31 ){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text=String(Calendar.sinko+1)

    bessay.text=String(Calendar.sinko+2)

    trace("31/2")

}else if(Calendar.sinko==29 && Calendar.binko>2 && Calendar.buaysonu==31 ){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text=String(Calendar.sinko+1)

    bessay.text=String(Calendar.sinko+2)

    trace("31/3")

}else if(Calendar.sinko==30 && Calendar.binko>2 && Calendar.buaysonu==31 ){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text=String(Calendar.sinko+1)

    bessay.text="1";

    trace("31/4")

}else if(Calendar.sinko==31 && Calendar.binko>2 && Calendar.buaysonu==31 ){

    birsay.text=String(Calendar.sinko-2)

    ikisay.text=String(Calendar.sinko-1)

    ucsay.text=String(Calendar.sinko)

    dortsay.text="1";

    bessay.text="2";

    trace("31/5")

}

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 10, 2017 Nov 10, 2017

Copy link to clipboard

Copied

LATEST

you're welcome.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines