Today is the CenterDay of the week of the next Feb 29thConvert calendar dates to week dates and vice versaWhat date is that again?ValiDate ISO 8601 by RXCreate a Winter Bash 2015 hat reminderHow many weeks?Beat Pure Regular Expressions at Validating ISO 8601 DatesToday in the YOLDASCII Calendar PlannerGet the date of the nth day of week in a given year and month

intersection of two sorted vectors in C++

How to say in German "enjoying home comforts"

What killed these X2 caps?

SSH "lag" in LAN on some machines, mixed distros

Python: return float 1.0 as int 1 but float 1.5 as float 1.5

Alternative to sending password over mail?

Today is the Center

How do I write bicross product symbols in latex?

prove that the matrix A is diagonalizable

Has there ever been an airliner design involving reducing generator load by installing solar panels?

Why is the ratio of two extensive quantities always intensive?

Blender 2.8 I can't see vertices, edges or faces in edit mode

Can I use a neutral wire from another outlet to repair a broken neutral?

Is "remove commented out code" correct English?

How to show the equivalence between the regularized regression and their constraint formulas using KKT

How can I tell someone that I want to be his or her friend?

How can I prevent hyper evolved versions of regular creatures from wiping out their cousins?

Can I make "comment-region" comment empty lines?

Fully-Firstable Anagram Sets

Took a trip to a parallel universe, need help deciphering

What reasons are there for a Capitalist to oppose a 100% inheritance tax?

What to put in ESTA if staying in US for a few days before going on to Canada

What's the point of deactivating Num Lock on login screens?

Does casting Light, or a similar spell, have any effect when the caster is swallowed by a monster?



Today is the Center


Day of the week of the next Feb 29thConvert calendar dates to week dates and vice versaWhat date is that again?ValiDate ISO 8601 by RXCreate a Winter Bash 2015 hat reminderHow many weeks?Beat Pure Regular Expressions at Validating ISO 8601 DatesToday in the YOLDASCII Calendar PlannerGet the date of the nth day of week in a given year and month













8












$begingroup$


Given a date as input in any convenient format, output a calendar with that date as the exact center of a five-week window. The header of the calendar must include the two-letter abbreviations for the days of the week (i.e., Su Mo Tu We Th Fr Sa).



For example, given April 2 2019 as input, the output should be



Sa Su Mo Tu We Th Fr
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19


so that the given date is the exact middle of the calendar.



Given February 19 2020, output



Su Mo Tu We Th Fr Sa
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
1 2 3 4 5 6 7


For September 14 1752, show the following:



Mo Tu We Th Fr Sa Su
28 29 30 31 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 1



  • Input and output can be given by any convenient method.

  • The input is guaranteed non-empty and valid (i.e., you'll never receive "" or Feb 31 etc.).

  • Assume Gregorian calendar for all dates.

  • Leap years must be accounted for.

  • Input dates will range from Jan 1 1600 to Dec 31 2500.

  • You can print it to STDOUT or return it as a function result.

  • Either a full program or a function are acceptable.

  • Any amount of extraneous whitespace is acceptable, so long as the characters line up appropriately.


  • Standard loopholes are forbidden.

  • This is code-golf so all usual golfing rules apply, and the shortest code (in bytes) wins.









share|improve this question









$endgroup$
















    8












    $begingroup$


    Given a date as input in any convenient format, output a calendar with that date as the exact center of a five-week window. The header of the calendar must include the two-letter abbreviations for the days of the week (i.e., Su Mo Tu We Th Fr Sa).



    For example, given April 2 2019 as input, the output should be



    Sa Su Mo Tu We Th Fr
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    30 31 1 2 3 4 5
    6 7 8 9 10 11 12
    13 14 15 16 17 18 19


    so that the given date is the exact middle of the calendar.



    Given February 19 2020, output



    Su Mo Tu We Th Fr Sa
    2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    1 2 3 4 5 6 7


    For September 14 1752, show the following:



    Mo Tu We Th Fr Sa Su
    28 29 30 31 1 2 3
    4 5 6 7 8 9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30 1



    • Input and output can be given by any convenient method.

    • The input is guaranteed non-empty and valid (i.e., you'll never receive "" or Feb 31 etc.).

    • Assume Gregorian calendar for all dates.

    • Leap years must be accounted for.

    • Input dates will range from Jan 1 1600 to Dec 31 2500.

    • You can print it to STDOUT or return it as a function result.

    • Either a full program or a function are acceptable.

    • Any amount of extraneous whitespace is acceptable, so long as the characters line up appropriately.


    • Standard loopholes are forbidden.

    • This is code-golf so all usual golfing rules apply, and the shortest code (in bytes) wins.









    share|improve this question









    $endgroup$














      8












      8








      8


      1



      $begingroup$


      Given a date as input in any convenient format, output a calendar with that date as the exact center of a five-week window. The header of the calendar must include the two-letter abbreviations for the days of the week (i.e., Su Mo Tu We Th Fr Sa).



      For example, given April 2 2019 as input, the output should be



      Sa Su Mo Tu We Th Fr
      16 17 18 19 20 21 22
      23 24 25 26 27 28 29
      30 31 1 2 3 4 5
      6 7 8 9 10 11 12
      13 14 15 16 17 18 19


      so that the given date is the exact middle of the calendar.



      Given February 19 2020, output



      Su Mo Tu We Th Fr Sa
      2 3 4 5 6 7 8
      9 10 11 12 13 14 15
      16 17 18 19 20 21 22
      23 24 25 26 27 28 29
      1 2 3 4 5 6 7


      For September 14 1752, show the following:



      Mo Tu We Th Fr Sa Su
      28 29 30 31 1 2 3
      4 5 6 7 8 9 10
      11 12 13 14 15 16 17
      18 19 20 21 22 23 24
      25 26 27 28 29 30 1



      • Input and output can be given by any convenient method.

      • The input is guaranteed non-empty and valid (i.e., you'll never receive "" or Feb 31 etc.).

      • Assume Gregorian calendar for all dates.

      • Leap years must be accounted for.

      • Input dates will range from Jan 1 1600 to Dec 31 2500.

      • You can print it to STDOUT or return it as a function result.

      • Either a full program or a function are acceptable.

      • Any amount of extraneous whitespace is acceptable, so long as the characters line up appropriately.


      • Standard loopholes are forbidden.

      • This is code-golf so all usual golfing rules apply, and the shortest code (in bytes) wins.









      share|improve this question









      $endgroup$




      Given a date as input in any convenient format, output a calendar with that date as the exact center of a five-week window. The header of the calendar must include the two-letter abbreviations for the days of the week (i.e., Su Mo Tu We Th Fr Sa).



      For example, given April 2 2019 as input, the output should be



      Sa Su Mo Tu We Th Fr
      16 17 18 19 20 21 22
      23 24 25 26 27 28 29
      30 31 1 2 3 4 5
      6 7 8 9 10 11 12
      13 14 15 16 17 18 19


      so that the given date is the exact middle of the calendar.



      Given February 19 2020, output



      Su Mo Tu We Th Fr Sa
      2 3 4 5 6 7 8
      9 10 11 12 13 14 15
      16 17 18 19 20 21 22
      23 24 25 26 27 28 29
      1 2 3 4 5 6 7


      For September 14 1752, show the following:



      Mo Tu We Th Fr Sa Su
      28 29 30 31 1 2 3
      4 5 6 7 8 9 10
      11 12 13 14 15 16 17
      18 19 20 21 22 23 24
      25 26 27 28 29 30 1



      • Input and output can be given by any convenient method.

      • The input is guaranteed non-empty and valid (i.e., you'll never receive "" or Feb 31 etc.).

      • Assume Gregorian calendar for all dates.

      • Leap years must be accounted for.

      • Input dates will range from Jan 1 1600 to Dec 31 2500.

      • You can print it to STDOUT or return it as a function result.

      • Either a full program or a function are acceptable.

      • Any amount of extraneous whitespace is acceptable, so long as the characters line up appropriately.


      • Standard loopholes are forbidden.

      • This is code-golf so all usual golfing rules apply, and the shortest code (in bytes) wins.






      code-golf ascii-art date






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 3 hours ago









      AdmBorkBorkAdmBorkBork

      27.7k466237




      27.7k466237




















          5 Answers
          5






          active

          oldest

          votes


















          1












          $begingroup$


          Wolfram Language (Mathematica), 131 bytes



          (s=#;Grid@Join[StringTake[#,2]&/@ToString/@(DayName[d[s,#]]&/@Range[-3,3]),Partition[Last@d[s,#]&/@Range[-17,17],7]])&
          d=DatePlus


          Try it online!



          I don't know why Grid doesn't work on TIO but this code outputs this



          enter image description here






          share|improve this answer









          $endgroup$












          • $begingroup$
            DayName[s~d~#]
            $endgroup$
            – DavidC
            1 min ago


















          0












          $begingroup$


          C# (Visual C# Interactive Compiler), 124 bytes





          n=>for(int i=-24;i<18;)Write($"(i<-17?$"n.AddDays(i):ddd".Remove(2,1):n.AddDays(i).Day+""),3"+((46+i++)%7<1?"n":""));


          Try it online!






          share|improve this answer









          $endgroup$




















            0












            $begingroup$


            PHP, 197 191 bytes



            $d=date_create($argn)->sub($i=new DateInterval(P17D));$i->d=1;while($x++<35)if($x<8)$h.=substr($d->format(D),0,2).' ';$o.=sprintf('% 2s ',$d->format(j));$d->add($i);echo wordwrap($h.$o,20);


            Certainly longer than I'd like, but having the require date range outside of an epoch timestamp makes PHP longer.



            Try it online!



            Input is STDIN, run with php -nF.



            $ echo April 2 2019|php -nF cal.php



            April 2 2019



            Sa Su Mo Tu We Th Fr 
            16 17 18 19 20 21 22
            23 24 25 26 27 28 29
            30 31 1 2 3 4 5
            6 7 8 9 10 11 12
            13 14 15 16 17 18 19


            February 19 2020



            Su Mo Tu We Th Fr Sa 
            2 3 4 5 6 7 8
            9 10 11 12 13 14 15
            16 17 18 19 20 21 22
            23 24 25 26 27 28 29
            1 2 3 4 5 6 7


            September 14 1752



            Mo Tu We Th Fr Sa Su 
            28 29 30 31 1 2 3
            4 5 6 7 8 9 10
            11 12 13 14 15 16 17
            18 19 20 21 22 23 24
            25 26 27 28 29 30 1





            share|improve this answer











            $endgroup$




















              0












              $begingroup$


              JavaScript (Node.js), 205 bytes








              f=
              d=>[...`012345`].map(r=>[...`0123456`].map(c=>`$new Date(d+864e5*(+c+r*7-24))[+r?`getUTCDate`:`toUTCString`]()`.slice(0,2).padStart(2)).join` `,d=new Date(d.slice(0,2)%4+20+d.slice(2)).getTime()).join`
              `

              <input type=date oninput=o.textContent=f(this.value)><pre id=o>





              Try it online! Takes input as a string in YYYY-MM-DD format, but the input field in the snippet displays your local date format.






              share|improve this answer









              $endgroup$












              • $begingroup$
                padStart(2) -> padStart(3), remove the space in the join string for -1 byte
                $endgroup$
                – Embodiment of Ignorance
                5 mins ago



















              0












              $begingroup$


              R, 66 bytes





              function(d,g=format)write(c(g(d+-3:3,"%a"),g(d+-17:17,"%3d")),1,7)


              Try it online!



              Pads date numbers with leading 0s; takes input as a Date, which can be created by using as.Date("YYYY/MM/DD").



              Weirdly short for an R ascii-art answer...





              share









              $endgroup$













                Your Answer





                StackExchange.ifUsing("editor", function ()
                return StackExchange.using("mathjaxEditing", function ()
                StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
                StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
                );
                );
                , "mathjax-editing");

                StackExchange.ifUsing("editor", function ()
                StackExchange.using("externalEditor", function ()
                StackExchange.using("snippets", function ()
                StackExchange.snippets.init();
                );
                );
                , "code-snippets");

                StackExchange.ready(function()
                var channelOptions =
                tags: "".split(" "),
                id: "200"
                ;
                initTagRenderer("".split(" "), "".split(" "), channelOptions);

                StackExchange.using("externalEditor", function()
                // Have to fire editor after snippets, if snippets enabled
                if (StackExchange.settings.snippets.snippetsEnabled)
                StackExchange.using("snippets", function()
                createEditor();
                );

                else
                createEditor();

                );

                function createEditor()
                StackExchange.prepareEditor(
                heartbeatType: 'answer',
                autoActivateHeartbeat: false,
                convertImagesToLinks: false,
                noModals: true,
                showLowRepImageUploadWarning: true,
                reputationToPostImages: null,
                bindNavPrevention: true,
                postfix: "",
                imageUploader:
                brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                allowUrls: true
                ,
                onDemand: true,
                discardSelector: ".discard-answer"
                ,immediatelyShowMarkdownHelp:true
                );



                );













                draft saved

                draft discarded


















                StackExchange.ready(
                function ()
                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f182681%2ftoday-is-the-center%23new-answer', 'question_page');

                );

                Post as a guest















                Required, but never shown

























                5 Answers
                5






                active

                oldest

                votes








                5 Answers
                5






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes









                1












                $begingroup$


                Wolfram Language (Mathematica), 131 bytes



                (s=#;Grid@Join[StringTake[#,2]&/@ToString/@(DayName[d[s,#]]&/@Range[-3,3]),Partition[Last@d[s,#]&/@Range[-17,17],7]])&
                d=DatePlus


                Try it online!



                I don't know why Grid doesn't work on TIO but this code outputs this



                enter image description here






                share|improve this answer









                $endgroup$












                • $begingroup$
                  DayName[s~d~#]
                  $endgroup$
                  – DavidC
                  1 min ago















                1












                $begingroup$


                Wolfram Language (Mathematica), 131 bytes



                (s=#;Grid@Join[StringTake[#,2]&/@ToString/@(DayName[d[s,#]]&/@Range[-3,3]),Partition[Last@d[s,#]&/@Range[-17,17],7]])&
                d=DatePlus


                Try it online!



                I don't know why Grid doesn't work on TIO but this code outputs this



                enter image description here






                share|improve this answer









                $endgroup$












                • $begingroup$
                  DayName[s~d~#]
                  $endgroup$
                  – DavidC
                  1 min ago













                1












                1








                1





                $begingroup$


                Wolfram Language (Mathematica), 131 bytes



                (s=#;Grid@Join[StringTake[#,2]&/@ToString/@(DayName[d[s,#]]&/@Range[-3,3]),Partition[Last@d[s,#]&/@Range[-17,17],7]])&
                d=DatePlus


                Try it online!



                I don't know why Grid doesn't work on TIO but this code outputs this



                enter image description here






                share|improve this answer









                $endgroup$




                Wolfram Language (Mathematica), 131 bytes



                (s=#;Grid@Join[StringTake[#,2]&/@ToString/@(DayName[d[s,#]]&/@Range[-3,3]),Partition[Last@d[s,#]&/@Range[-17,17],7]])&
                d=DatePlus


                Try it online!



                I don't know why Grid doesn't work on TIO but this code outputs this



                enter image description here







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 2 hours ago









                J42161217J42161217

                13.8k21253




                13.8k21253











                • $begingroup$
                  DayName[s~d~#]
                  $endgroup$
                  – DavidC
                  1 min ago
















                • $begingroup$
                  DayName[s~d~#]
                  $endgroup$
                  – DavidC
                  1 min ago















                $begingroup$
                DayName[s~d~#]
                $endgroup$
                – DavidC
                1 min ago




                $begingroup$
                DayName[s~d~#]
                $endgroup$
                – DavidC
                1 min ago











                0












                $begingroup$


                C# (Visual C# Interactive Compiler), 124 bytes





                n=>for(int i=-24;i<18;)Write($"(i<-17?$"n.AddDays(i):ddd".Remove(2,1):n.AddDays(i).Day+""),3"+((46+i++)%7<1?"n":""));


                Try it online!






                share|improve this answer









                $endgroup$

















                  0












                  $begingroup$


                  C# (Visual C# Interactive Compiler), 124 bytes





                  n=>for(int i=-24;i<18;)Write($"(i<-17?$"n.AddDays(i):ddd".Remove(2,1):n.AddDays(i).Day+""),3"+((46+i++)%7<1?"n":""));


                  Try it online!






                  share|improve this answer









                  $endgroup$















                    0












                    0








                    0





                    $begingroup$


                    C# (Visual C# Interactive Compiler), 124 bytes





                    n=>for(int i=-24;i<18;)Write($"(i<-17?$"n.AddDays(i):ddd".Remove(2,1):n.AddDays(i).Day+""),3"+((46+i++)%7<1?"n":""));


                    Try it online!






                    share|improve this answer









                    $endgroup$




                    C# (Visual C# Interactive Compiler), 124 bytes





                    n=>for(int i=-24;i<18;)Write($"(i<-17?$"n.AddDays(i):ddd".Remove(2,1):n.AddDays(i).Day+""),3"+((46+i++)%7<1?"n":""));


                    Try it online!







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered 1 hour ago









                    Embodiment of IgnoranceEmbodiment of Ignorance

                    2,718126




                    2,718126





















                        0












                        $begingroup$


                        PHP, 197 191 bytes



                        $d=date_create($argn)->sub($i=new DateInterval(P17D));$i->d=1;while($x++<35)if($x<8)$h.=substr($d->format(D),0,2).' ';$o.=sprintf('% 2s ',$d->format(j));$d->add($i);echo wordwrap($h.$o,20);


                        Certainly longer than I'd like, but having the require date range outside of an epoch timestamp makes PHP longer.



                        Try it online!



                        Input is STDIN, run with php -nF.



                        $ echo April 2 2019|php -nF cal.php



                        April 2 2019



                        Sa Su Mo Tu We Th Fr 
                        16 17 18 19 20 21 22
                        23 24 25 26 27 28 29
                        30 31 1 2 3 4 5
                        6 7 8 9 10 11 12
                        13 14 15 16 17 18 19


                        February 19 2020



                        Su Mo Tu We Th Fr Sa 
                        2 3 4 5 6 7 8
                        9 10 11 12 13 14 15
                        16 17 18 19 20 21 22
                        23 24 25 26 27 28 29
                        1 2 3 4 5 6 7


                        September 14 1752



                        Mo Tu We Th Fr Sa Su 
                        28 29 30 31 1 2 3
                        4 5 6 7 8 9 10
                        11 12 13 14 15 16 17
                        18 19 20 21 22 23 24
                        25 26 27 28 29 30 1





                        share|improve this answer











                        $endgroup$

















                          0












                          $begingroup$


                          PHP, 197 191 bytes



                          $d=date_create($argn)->sub($i=new DateInterval(P17D));$i->d=1;while($x++<35)if($x<8)$h.=substr($d->format(D),0,2).' ';$o.=sprintf('% 2s ',$d->format(j));$d->add($i);echo wordwrap($h.$o,20);


                          Certainly longer than I'd like, but having the require date range outside of an epoch timestamp makes PHP longer.



                          Try it online!



                          Input is STDIN, run with php -nF.



                          $ echo April 2 2019|php -nF cal.php



                          April 2 2019



                          Sa Su Mo Tu We Th Fr 
                          16 17 18 19 20 21 22
                          23 24 25 26 27 28 29
                          30 31 1 2 3 4 5
                          6 7 8 9 10 11 12
                          13 14 15 16 17 18 19


                          February 19 2020



                          Su Mo Tu We Th Fr Sa 
                          2 3 4 5 6 7 8
                          9 10 11 12 13 14 15
                          16 17 18 19 20 21 22
                          23 24 25 26 27 28 29
                          1 2 3 4 5 6 7


                          September 14 1752



                          Mo Tu We Th Fr Sa Su 
                          28 29 30 31 1 2 3
                          4 5 6 7 8 9 10
                          11 12 13 14 15 16 17
                          18 19 20 21 22 23 24
                          25 26 27 28 29 30 1





                          share|improve this answer











                          $endgroup$















                            0












                            0








                            0





                            $begingroup$


                            PHP, 197 191 bytes



                            $d=date_create($argn)->sub($i=new DateInterval(P17D));$i->d=1;while($x++<35)if($x<8)$h.=substr($d->format(D),0,2).' ';$o.=sprintf('% 2s ',$d->format(j));$d->add($i);echo wordwrap($h.$o,20);


                            Certainly longer than I'd like, but having the require date range outside of an epoch timestamp makes PHP longer.



                            Try it online!



                            Input is STDIN, run with php -nF.



                            $ echo April 2 2019|php -nF cal.php



                            April 2 2019



                            Sa Su Mo Tu We Th Fr 
                            16 17 18 19 20 21 22
                            23 24 25 26 27 28 29
                            30 31 1 2 3 4 5
                            6 7 8 9 10 11 12
                            13 14 15 16 17 18 19


                            February 19 2020



                            Su Mo Tu We Th Fr Sa 
                            2 3 4 5 6 7 8
                            9 10 11 12 13 14 15
                            16 17 18 19 20 21 22
                            23 24 25 26 27 28 29
                            1 2 3 4 5 6 7


                            September 14 1752



                            Mo Tu We Th Fr Sa Su 
                            28 29 30 31 1 2 3
                            4 5 6 7 8 9 10
                            11 12 13 14 15 16 17
                            18 19 20 21 22 23 24
                            25 26 27 28 29 30 1





                            share|improve this answer











                            $endgroup$




                            PHP, 197 191 bytes



                            $d=date_create($argn)->sub($i=new DateInterval(P17D));$i->d=1;while($x++<35)if($x<8)$h.=substr($d->format(D),0,2).' ';$o.=sprintf('% 2s ',$d->format(j));$d->add($i);echo wordwrap($h.$o,20);


                            Certainly longer than I'd like, but having the require date range outside of an epoch timestamp makes PHP longer.



                            Try it online!



                            Input is STDIN, run with php -nF.



                            $ echo April 2 2019|php -nF cal.php



                            April 2 2019



                            Sa Su Mo Tu We Th Fr 
                            16 17 18 19 20 21 22
                            23 24 25 26 27 28 29
                            30 31 1 2 3 4 5
                            6 7 8 9 10 11 12
                            13 14 15 16 17 18 19


                            February 19 2020



                            Su Mo Tu We Th Fr Sa 
                            2 3 4 5 6 7 8
                            9 10 11 12 13 14 15
                            16 17 18 19 20 21 22
                            23 24 25 26 27 28 29
                            1 2 3 4 5 6 7


                            September 14 1752



                            Mo Tu We Th Fr Sa Su 
                            28 29 30 31 1 2 3
                            4 5 6 7 8 9 10
                            11 12 13 14 15 16 17
                            18 19 20 21 22 23 24
                            25 26 27 28 29 30 1






                            share|improve this answer














                            share|improve this answer



                            share|improve this answer








                            edited 59 mins ago

























                            answered 1 hour ago









                            gwaughgwaugh

                            1,998517




                            1,998517





















                                0












                                $begingroup$


                                JavaScript (Node.js), 205 bytes








                                f=
                                d=>[...`012345`].map(r=>[...`0123456`].map(c=>`$new Date(d+864e5*(+c+r*7-24))[+r?`getUTCDate`:`toUTCString`]()`.slice(0,2).padStart(2)).join` `,d=new Date(d.slice(0,2)%4+20+d.slice(2)).getTime()).join`
                                `

                                <input type=date oninput=o.textContent=f(this.value)><pre id=o>





                                Try it online! Takes input as a string in YYYY-MM-DD format, but the input field in the snippet displays your local date format.






                                share|improve this answer









                                $endgroup$












                                • $begingroup$
                                  padStart(2) -> padStart(3), remove the space in the join string for -1 byte
                                  $endgroup$
                                  – Embodiment of Ignorance
                                  5 mins ago
















                                0












                                $begingroup$


                                JavaScript (Node.js), 205 bytes








                                f=
                                d=>[...`012345`].map(r=>[...`0123456`].map(c=>`$new Date(d+864e5*(+c+r*7-24))[+r?`getUTCDate`:`toUTCString`]()`.slice(0,2).padStart(2)).join` `,d=new Date(d.slice(0,2)%4+20+d.slice(2)).getTime()).join`
                                `

                                <input type=date oninput=o.textContent=f(this.value)><pre id=o>





                                Try it online! Takes input as a string in YYYY-MM-DD format, but the input field in the snippet displays your local date format.






                                share|improve this answer









                                $endgroup$












                                • $begingroup$
                                  padStart(2) -> padStart(3), remove the space in the join string for -1 byte
                                  $endgroup$
                                  – Embodiment of Ignorance
                                  5 mins ago














                                0












                                0








                                0





                                $begingroup$


                                JavaScript (Node.js), 205 bytes








                                f=
                                d=>[...`012345`].map(r=>[...`0123456`].map(c=>`$new Date(d+864e5*(+c+r*7-24))[+r?`getUTCDate`:`toUTCString`]()`.slice(0,2).padStart(2)).join` `,d=new Date(d.slice(0,2)%4+20+d.slice(2)).getTime()).join`
                                `

                                <input type=date oninput=o.textContent=f(this.value)><pre id=o>





                                Try it online! Takes input as a string in YYYY-MM-DD format, but the input field in the snippet displays your local date format.






                                share|improve this answer









                                $endgroup$




                                JavaScript (Node.js), 205 bytes








                                f=
                                d=>[...`012345`].map(r=>[...`0123456`].map(c=>`$new Date(d+864e5*(+c+r*7-24))[+r?`getUTCDate`:`toUTCString`]()`.slice(0,2).padStart(2)).join` `,d=new Date(d.slice(0,2)%4+20+d.slice(2)).getTime()).join`
                                `

                                <input type=date oninput=o.textContent=f(this.value)><pre id=o>





                                Try it online! Takes input as a string in YYYY-MM-DD format, but the input field in the snippet displays your local date format.






                                f=
                                d=>[...`012345`].map(r=>[...`0123456`].map(c=>`$new Date(d+864e5*(+c+r*7-24))[+r?`getUTCDate`:`toUTCString`]()`.slice(0,2).padStart(2)).join` `,d=new Date(d.slice(0,2)%4+20+d.slice(2)).getTime()).join`
                                `

                                <input type=date oninput=o.textContent=f(this.value)><pre id=o>





                                f=
                                d=>[...`012345`].map(r=>[...`0123456`].map(c=>`$new Date(d+864e5*(+c+r*7-24))[+r?`getUTCDate`:`toUTCString`]()`.slice(0,2).padStart(2)).join` `,d=new Date(d.slice(0,2)%4+20+d.slice(2)).getTime()).join`
                                `

                                <input type=date oninput=o.textContent=f(this.value)><pre id=o>






                                share|improve this answer












                                share|improve this answer



                                share|improve this answer










                                answered 15 mins ago









                                NeilNeil

                                82.5k745179




                                82.5k745179











                                • $begingroup$
                                  padStart(2) -> padStart(3), remove the space in the join string for -1 byte
                                  $endgroup$
                                  – Embodiment of Ignorance
                                  5 mins ago

















                                • $begingroup$
                                  padStart(2) -> padStart(3), remove the space in the join string for -1 byte
                                  $endgroup$
                                  – Embodiment of Ignorance
                                  5 mins ago
















                                $begingroup$
                                padStart(2) -> padStart(3), remove the space in the join string for -1 byte
                                $endgroup$
                                – Embodiment of Ignorance
                                5 mins ago





                                $begingroup$
                                padStart(2) -> padStart(3), remove the space in the join string for -1 byte
                                $endgroup$
                                – Embodiment of Ignorance
                                5 mins ago












                                0












                                $begingroup$


                                R, 66 bytes





                                function(d,g=format)write(c(g(d+-3:3,"%a"),g(d+-17:17,"%3d")),1,7)


                                Try it online!



                                Pads date numbers with leading 0s; takes input as a Date, which can be created by using as.Date("YYYY/MM/DD").



                                Weirdly short for an R ascii-art answer...





                                share









                                $endgroup$

















                                  0












                                  $begingroup$


                                  R, 66 bytes





                                  function(d,g=format)write(c(g(d+-3:3,"%a"),g(d+-17:17,"%3d")),1,7)


                                  Try it online!



                                  Pads date numbers with leading 0s; takes input as a Date, which can be created by using as.Date("YYYY/MM/DD").



                                  Weirdly short for an R ascii-art answer...





                                  share









                                  $endgroup$















                                    0












                                    0








                                    0





                                    $begingroup$


                                    R, 66 bytes





                                    function(d,g=format)write(c(g(d+-3:3,"%a"),g(d+-17:17,"%3d")),1,7)


                                    Try it online!



                                    Pads date numbers with leading 0s; takes input as a Date, which can be created by using as.Date("YYYY/MM/DD").



                                    Weirdly short for an R ascii-art answer...





                                    share









                                    $endgroup$




                                    R, 66 bytes





                                    function(d,g=format)write(c(g(d+-3:3,"%a"),g(d+-17:17,"%3d")),1,7)


                                    Try it online!



                                    Pads date numbers with leading 0s; takes input as a Date, which can be created by using as.Date("YYYY/MM/DD").



                                    Weirdly short for an R ascii-art answer...






                                    share











                                    share


                                    share










                                    answered 4 mins ago









                                    GiuseppeGiuseppe

                                    17.5k31152




                                    17.5k31152



























                                        draft saved

                                        draft discarded
















































                                        If this is an answer to a challenge…



                                        • …Be sure to follow the challenge specification. However, please refrain from exploiting obvious loopholes. Answers abusing any of the standard loopholes are considered invalid. If you think a specification is unclear or underspecified, comment on the question instead.


                                        • …Try to optimize your score. For instance, answers to code-golf challenges should attempt to be as short as possible. You can always include a readable version of the code in addition to the competitive one.
                                          Explanations of your answer make it more interesting to read and are very much encouraged.


                                        • …Include a short header which indicates the language(s) of your code and its score, as defined by the challenge.


                                        More generally…



                                        • …Please make sure to answer the question and provide sufficient detail.


                                        • …Avoid asking for help, clarification or responding to other answers (use comments instead).




                                        draft saved


                                        draft discarded














                                        StackExchange.ready(
                                        function ()
                                        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f182681%2ftoday-is-the-center%23new-answer', 'question_page');

                                        );

                                        Post as a guest















                                        Required, but never shown





















































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown

































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown







                                        Popular posts from this blog

                                        Dapidodigma demeter Subspecies | Notae | Tabula navigationisDapidodigmaAfrotropical Butterflies: Lycaenidae - Subtribe IolainaAmplifica

                                        Constantinus Vanšenkin Nexus externi | Tabula navigationisБольшая российская энциклопедияAmplifica

                                        Vas sanguineum Index Historia | Divisio | Constructio anatomica | Vasorum sanguineorum morbi (angiopathiae) | Notae | Nexus interniTabula navigationisAmplifica