first day of month from sql date.

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • meltedown

    first day of month from sql date.

    If I have an sql date, such as "2006-11-19" is there a way using either
    sql or php date and time functions to get the date of the the first day
    of the month ?
  • petersprc

    #2
    Re: first day of month from sql date.

    You could do something like this:

    <?

    function firstDayOfMonth ($str = '2006-11-19')
    {
    $day = date('l', strtotime(date( 'Y/m/01', strtotime($str) )));
    return $day;
    }

    echo firstDayOfMonth ();

    ?>

    Change the date format string if you want other information about the
    first day of the month.

    meltedown wrote:
    If I have an sql date, such as "2006-11-19" is there a way using either
    sql or php date and time functions to get the date of the the first day
    of the month ?

    Comment

    • meltedown

      #3
      Re: first day of month from sql date.

      petersprc wrote:
      You could do something like this:
      >
      <?
      >
      function firstDayOfMonth ($str = '2006-11-19')
      {
      $day = date('l', strtotime(date( 'Y/m/01', strtotime($str) )));
      return $day;
      }
      >
      echo firstDayOfMonth ();
      >
      ?>
      >
      Change the date format string if you want other information about the
      first day of the month.
      >
      meltedown wrote:
      >If I have an sql date, such as "2006-11-19" is there a way using either
      >sql or php date and time functions to get the date of the the first day
      >of the month ?
      >
      Thanks, but I want the date, not the weekday. For 2006-11-19 it would be
      2006-11-01

      Comment

      • petersprc

        #4
        Re: first day of month from sql date.

        You could work on the text:

        $date = '2006-11-19';
        $newDate = substr($date, 0, strrpos($date, '-')) . '-01';

        meltedown wrote:
        petersprc wrote:
        You could do something like this:

        <?

        function firstDayOfMonth ($str = '2006-11-19')
        {
        $day = date('l', strtotime(date( 'Y/m/01', strtotime($str) )));
        return $day;
        }

        echo firstDayOfMonth ();

        ?>

        Change the date format string if you want other information about the
        first day of the month.

        meltedown wrote:
        If I have an sql date, such as "2006-11-19" is there a way using either
        sql or php date and time functions to get the date of the the first day
        of the month ?
        >
        Thanks, but I want the date, not the weekday. For 2006-11-19 it would be
        2006-11-01

        Comment

        • meltedown

          #5
          Re: first day of month from sql date.

          petersprc wrote:
          You could work on the text:
          >
          $date = '2006-11-19';
          $newDate = substr($date, 0, strrpos($date, '-')) . '-01';
          >
          meltedown wrote:
          >petersprc wrote:
          >>You could do something like this:
          >>>
          >><?
          >>>
          >>function firstDayOfMonth ($str = '2006-11-19')
          >>{
          >> $day = date('l', strtotime(date( 'Y/m/01', strtotime($str) )));
          >> return $day;
          >>}
          >>>
          >>echo firstDayOfMonth ();
          >>>
          >>?>
          >>>
          >>Change the date format string if you want other information about the
          >>first day of the month.
          >>>
          >>meltedown wrote:
          >>>If I have an sql date, such as "2006-11-19" is there a way using either
          >>>sql or php date and time functions to get the date of the the first day
          >>>of the month ?
          >Thanks, but I want the date, not the weekday. For 2006-11-19 it would be
          >2006-11-01
          >
          Yes I know but I'd rather not.

          Comment

          • strawberry

            #6
            Re: first day of month from sql date.


            meltedown wrote:
            petersprc wrote:
            You could work on the text:

            $date = '2006-11-19';
            $newDate = substr($date, 0, strrpos($date, '-')) . '-01';

            meltedown wrote:
            petersprc wrote:
            >You could do something like this:
            >>
            ><?
            >>
            >function firstDayOfMonth ($str = '2006-11-19')
            >{
            > $day = date('l', strtotime(date( 'Y/m/01', strtotime($str) )));
            > return $day;
            >}
            >>
            >echo firstDayOfMonth ();
            >>
            >?>
            >>
            >Change the date format string if you want other information about the
            >first day of the month.
            >>
            >meltedown wrote:
            >>If I have an sql date, such as "2006-11-19" is there a way using either
            >>sql or php date and time functions to get the date of the the first day
            >>of the month ?
            Thanks, but I want the date, not the weekday. For 2006-11-19 it would be
            2006-11-01
            >
            Yes I know but I'd rather not.
            This from Azizur Rahman at



            To get the first day of the current month:

            SELECT ((PERIOD_ADD(EX TRACT(YEAR_MONT H FROM CURDATE()),0)*1 00)+1) as
            FirstDayOfTheMo nth;

            Comment

            • Pedro Graca

              #7
              Re: first day of month from sql date.

              meltedown wrote:
              If I have an sql date, such as "2006-11-19" is there a way using either
              sql or php date and time functions to get the date of the the first day
              of the month ?
              select date_sub(YOUR_D ATE_COLUMN, interval day(YOUR_DATE_C OLUMN)-1 day)
              from YOUR_TABLE;

              --
              I (almost) never check the dodgeit address.
              If you *really* need to mail me, use the address in the Reply-To
              header with a message in *plain* *text* *without* *attachments*.

              Comment

              • Kimmo Laine

                #8
                Re: first day of month from sql date.

                "meltedown" <asdf@fake.comw rote in message
                news:6ka8h.3206 2$E_2.703@fe03. news.easynews.c om...
                petersprc wrote:
                >You could do something like this:
                >>
                ><?
                >>
                >function firstDayOfMonth ($str = '2006-11-19')
                >{
                > $day = date('l', strtotime(date( 'Y/m/01', strtotime($str) )));
                > return $day;
                >}
                >>
                >echo firstDayOfMonth ();
                >>
                >?>
                >>
                >Change the date format string if you want other information about the
                >first day of the month.
                >>
                >meltedown wrote:
                >>If I have an sql date, such as "2006-11-19" is there a way using either
                >>sql or php date and time functions to get the date of the the first day
                >>of the month ?
                >>
                >
                Thanks, but I want the date, not the weekday. For 2006-11-19 it would be
                2006-11-01
                Well the answer was already given in petersprc's first post, you just need a
                little part of it:

                date('Y-m-01', strtotime($str) ); // this takes given timestamp $str and
                outputs a Y-m-d formatted date for first of the month just as you wanted.

                --
                "Ohjelmoija on organismi joka muuttaa kofeiinia koodiksi" - lpk
                http://outolempi.net/ahdistus/ - Satunnaisesti päivittyvä nettisarjis
                spam@outolempi. net | rot13(xvzzb@bhg byrzcv.arg)


                Comment

                • Jerry Stuckle

                  #9
                  Re: first day of month from sql date.

                  meltedown wrote:
                  petersprc wrote:
                  >
                  >You could work on the text:
                  >>
                  >$date = '2006-11-19';
                  >$newDate = substr($date, 0, strrpos($date, '-')) . '-01';
                  >>
                  >meltedown wrote:
                  >>
                  >>petersprc wrote:
                  >>>
                  >>>You could do something like this:
                  >>>>
                  >>><?
                  >>>>
                  >>>function firstDayOfMonth ($str = '2006-11-19')
                  >>>{
                  >>> $day = date('l', strtotime(date( 'Y/m/01', strtotime($str) )));
                  >>> return $day;
                  >>>}
                  >>>>
                  >>>echo firstDayOfMonth ();
                  >>>>
                  >>>?>
                  >>>>
                  >>>Change the date format string if you want other information about the
                  >>>first day of the month.
                  >>>>
                  >>>meltedown wrote:
                  >>>>
                  >>>>If I have an sql date, such as "2006-11-19" is there a way using
                  >>>>either
                  >>>>sql or php date and time functions to get the date of the the first
                  >>>>day
                  >>>>of the month ?
                  >>>
                  >>Thanks, but I want the date, not the weekday. For 2006-11-19 it would be
                  >>2006-11-01
                  >>
                  >>
                  >
                  Yes I know but I'd rather not.
                  Why not? It's probably the most efficient way of doing it.

                  --
                  =============== ===
                  Remove the "x" from my email address
                  Jerry Stuckle
                  JDS Computer Training Corp.
                  jstucklex@attgl obal.net
                  =============== ===

                  Comment

                  • meltedown

                    #10
                    Re: first day of month from sql date.

                    Jerry Stuckle wrote:
                    meltedown wrote:
                    >petersprc wrote:
                    >>
                    >>You could work on the text:
                    >>>
                    >>$date = '2006-11-19';
                    >>$newDate = substr($date, 0, strrpos($date, '-')) . '-01';
                    >>>
                    >>meltedown wrote:
                    >>>
                    >>>petersprc wrote:
                    >>>>
                    >>>>You could do something like this:
                    >>>>>
                    >>>><?
                    >>>>>
                    >>>>function firstDayOfMonth ($str = '2006-11-19')
                    >>>>{
                    >>>> $day = date('l', strtotime(date( 'Y/m/01', strtotime($str) )));
                    >>>> return $day;
                    >>>>}
                    >>>>>
                    >>>>echo firstDayOfMonth ();
                    >>>>>
                    >>>>?>
                    >>>>>
                    >>>>Change the date format string if you want other information about the
                    >>>>first day of the month.
                    >>>>>
                    >>>>meltedown wrote:
                    >>>>>
                    >>>>>If I have an sql date, such as "2006-11-19" is there a way using
                    >>>>>either
                    >>>>>sql or php date and time functions to get the date of the the
                    >>>>>first day
                    >>>>>of the month ?
                    >>>>
                    >>>Thanks, but I want the date, not the weekday. For 2006-11-19 it
                    >>>would be
                    >>>2006-11-01
                    >>>
                    >>>
                    >>
                    >Yes I know but I'd rather not.
                    >
                    Why not? It's probably the most efficient way of doing it.
                    >
                    Could be, and it could be fine, but it treats a date datatype as a
                    string datatype. I'd rather stick to strict datatypes which to me means
                    its less likely to have some unforseen problem. I guess its just a
                    habit I got from starting out with C++

                    Comment

                    • Jerry Stuckle

                      #11
                      Re: first day of month from sql date.

                      meltedown wrote:
                      Jerry Stuckle wrote:
                      >
                      >meltedown wrote:
                      >>
                      >>petersprc wrote:
                      >>>
                      >>>You could work on the text:
                      >>>>
                      >>>$date = '2006-11-19';
                      >>>$newDate = substr($date, 0, strrpos($date, '-')) . '-01';
                      >>>>
                      >>>meltedown wrote:
                      >>>>
                      >>>>petersprc wrote:
                      >>>>>
                      >>>>>You could do something like this:
                      >>>>>>
                      >>>>><?
                      >>>>>>
                      >>>>>function firstDayOfMonth ($str = '2006-11-19')
                      >>>>>{
                      >>>>> $day = date('l', strtotime(date( 'Y/m/01', strtotime($str) )));
                      >>>>> return $day;
                      >>>>>}
                      >>>>>>
                      >>>>>echo firstDayOfMonth ();
                      >>>>>>
                      >>>>>?>
                      >>>>>>
                      >>>>>Change the date format string if you want other information about the
                      >>>>>first day of the month.
                      >>>>>>
                      >>>>>meltedow n wrote:
                      >>>>>>
                      >>>>>>If I have an sql date, such as "2006-11-19" is there a way using
                      >>>>>>either
                      >>>>>>sql or php date and time functions to get the date of the the
                      >>>>>>first day
                      >>>>>>of the month ?
                      >>>>>
                      >>>>>
                      >>>>Thanks, but I want the date, not the weekday. For 2006-11-19 it
                      >>>>would be
                      >>>>2006-11-01
                      >>>>
                      >>>>
                      >>>>
                      >>>
                      >>Yes I know but I'd rather not.
                      >>
                      >>
                      >Why not? It's probably the most efficient way of doing it.
                      >>
                      >
                      Could be, and it could be fine, but it treats a date datatype as a
                      string datatype. I'd rather stick to strict datatypes which to me means
                      its less likely to have some unforseen problem. I guess its just a
                      habit I got from starting out with C++
                      I understand, and that's a very valid reason.

                      But in PHP there is no date datatype - unless you create a date class
                      yourself. It's handled as a string.

                      If you want to be really good about it, you could create a date class
                      and have it parse out the date from MySQL. I've done this before when
                      I've needed to do a bunch of stuff on dates. It did help simplify the
                      rest of the code (which a properly constructed class should do). But it
                      also added a little extra overhead to the process (which was also expected).

                      --
                      =============== ===
                      Remove the "x" from my email address
                      Jerry Stuckle
                      JDS Computer Training Corp.
                      jstucklex@attgl obal.net
                      =============== ===

                      Comment

                      Working...