How to convert date from one format to another?

前端 未结 4 936
温柔的废话
温柔的废话 2021-01-28 12:26

I\'m having the date in this format in a Excel worksheet 03-Dec-10. So its not compatible while inserting it into the database. How to convert the date to the acceptable format?

相关标签:
4条回答
  • 2021-01-28 12:49

    For a more general approach, you can always dump your current format to a string, like how you have it, and use string operations to substring and reorganize. I know for a fact that MySQL accepts string values for DATETIME fields.

    $day = substr($input, 0, 2);
    $month = substr($input, 2, 3);
    switch($month){
        case "Jan":
            $month = "01";
            break;
        ...
    }
    
    0 讨论(0)
  • 2021-01-28 12:49

    If you're doing this from Excel itself, you can put this formula into another column

    =TEXT(A2, "YYYYmmdd")
    

    Then copy down. This produces a compatible 8-digit date.

    0 讨论(0)
  • 2021-01-28 12:57

    While Jon's answer is correct, here is another option:

    $input = '03-Dec-10';
    $date = date('Ymd', strtotime($input));
    
    0 讨论(0)
  • 2021-01-28 13:12
    $input = '03-Dec-10';
    $date = DateTime::createFromFormat('d-M-y', $input);
    echo $date->format('Ymd'); // or possibly 'Y-m-d'
    

    This will output 20101203, which is presumably what you want. If it's not exactly what you are after, have a look here.

    You can also do the reverse:

    $input = '20101203';
    $date = DateTime::createFromFormat('Ymd', $input);
    echo $date->format('d-M-y');
    
    0 讨论(0)
提交回复
热议问题