Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

[ASK]Konversi tanggal pada saat di import dengan PHP

Mas saya mau tanya
Gimana ya caranya pada saat mau import file dari excel menggunakan script php ke mysql, format tanggal yang di excel d/m/yyyy akan berubah menjadi format sesuai MySql yyyy-m-d ?
Tagged:

Comments

  • DATE_FORMAT('tglexcel','%Y-%m-%d')
  • buka mysql manual, baca fungsi : STR_TO_DATE()
  • @mas sacredbluerose
    itu di letak dimana ya mas ?
    di dalam values atau di luar values  ?

    @mas jerapah
    gmna mas maksudnya ?
    saya kurang mengerti
  • punya mysql manual atau kagak ?
    kalo kagak mau donlot, baca yg online
  • @mas jerapah
    saya belum mengerti untuk penggunaan mysql manualnya mas
    hanya ngerti query untuk INSERT,UPDATE,DELETE

  • lha makanya dibuka to manual nya biar paham

    orang jadi bisa pake suatu produk itu karena mau baca dokumentasi produk yg bersangkutan
  • STR_TO_DATE itu bisa di masukin di query INSERT mas ?
  • sudah dicoba atau belum ?
  • edited September 2014
    sudah mas
    tapi malah jadinya NULL

    ini lengkapnya

    <?php $query=mysql_query("INSERT INTO tbl_psb(NoPSB,NoOrder,Area,NoJaringan,NamaPelanggan,AlamatAsal,NoTlp,PIC,NoTlpPIC,TglOrderMasuk,TglRFSPelanggan,TglRFSLintasarta,PJArea,KetPelaksana,Pelaksana,Status,KetStatus,Keterangan) VALUES ('$newNo','$NoOrder','$Area','$NoJaringan','$NamaPelanggan','$AlamatAsal','$NoTlp','$PIC','$NoTlpPIC',STR_TO_DATE('$TglOrderMasuk','%Y%m%d'),'$TglRFSPelanggan','$TglRFSLintasarta','$PJArea','$KetPelaksana','$Pelaksana','$Status','$KetStatus','$Keterangan')") or die(mysql_error());?>
  • $TglOrderMasuk isi nya apa ?
  • edited September 2014
    isinya tanggal yang ada di excel mas misal 7/9/2014
    saya coba pake DATE_FORMAT hasilnya juga NULL

  • edited September 2014
    "7/9/2014" itu pan bukan "%Y%m%d"

    %Y, 4 digit adalah tahun ... "7/9/" ini tahun kah ?
    %m, 2 digit bulan ... "20" ini bulan kah ?
    %d, 2 digit tanggal ... "14" masuk akal kalo tanggal

    tapi tahun dan bulan sudah salah duluan
    wajar saja mysql balikin nilai NULL

    dokumentasi STR_TO_DATE nya dibaca atau kagak sih mas ?
    bacanya di mana ?
  • edited September 2014

    PROBLEM SOLVED

    thank you mas jerapah 
  • kurang jelas yg mana to mas ?

    lha wong penjelasannya sudah berikut contoh segala kok masih kurang jelas



    STR_TO_DATE(str,format)

    This is the inverse of the DATE_FORMAT() function. It takes a string str and a format string format. STR_TO_DATE() returns a DATETIME value if the format string contains both date and time parts, or a DATE or TIME value if the string contains only date or time parts. If the date, time, or datetime value extracted from str is illegal, STR_TO_DATE() returns NULL and produces a warning.

    The server scans str attempting to match format to it. The format string can contain literal characters and format specifiers beginning with %. Literal characters in format must match literally in str. Format specifiers in format must match a date or time part in str. For the specifiers that can be used in format, see the DATE_FORMAT() function description.

    mysql> SELECT STR_TO_DATE('01,5,2013','%d,%m,%Y');
            -> '2013-05-01'
    mysql> SELECT STR_TO_DATE('May 1, 2013','%M %d,%Y');
            -> '2013-05-01'


    Scanning starts at the beginning of str and fails if format is found not to match. Extra characters at the end of str are ignored.

    mysql> SELECT STR_TO_DATE('a09:30:17','a%h:%i:%s');
            -> '09:30:17'
    mysql> SELECT STR_TO_DATE('a09:30:17','%h:%i:%s');
            -> NULL
    mysql> SELECT STR_TO_DATE('09:30:17a','%h:%i:%s');
            -> '09:30:17'


    Unspecified date or time parts have a value of 0, so incompletely specified values in str produce a result with some or all parts set to 0:

    mysql> SELECT STR_TO_DATE('abc','abc');
            -> '0000-00-00'
    mysql> SELECT STR_TO_DATE('9','%m');
            -> '0000-09-00'
    mysql> SELECT STR_TO_DATE('9','%s');
            -> '00:00:09'


    Range checking on the parts of date values is as described in Section 11.3.1, “The DATE, DATETIME, and TIMESTAMP Types”. This means, for example, that “zero” dates or dates with part values of 0 are permitted unless the SQL mode is set to disallow such values.

    mysql> SELECT STR_TO_DATE('00/00/0000', '%m/%d/%Y');
            -> '0000-00-00'
    mysql> SELECT STR_TO_DATE('04/31/2004', '%m/%d/%Y');
            -> '2004-04-31'


    Note

    You cannot use format "%X%V" to convert a year-week string to a date because the combination of a year and week does not uniquely identify a year and month if the week crosses a month boundary. To convert a year-week to a date, you should also specify the weekday:

    mysql> SELECT STR_TO_DATE('200442 Monday', '%X%V %W');
            -> '2004-10-18'



  • edited March 2016
    Ni kasus ane beda ni.
    tanggal yang diambil dari excel berubah.
    misal saya masukin tanggal:
    30/04/2016
    di phpnya kebaca "42490"


    nah kalo begitu gimana penyelesaiannya?
     tolong dibantu ya.

  • mas anton bikin trit baru saja mas, karna trit ini sudah solved.
Sign In or Register to comment.