我想把一个字符串分成两个变量

nr7wwzry  于 2021-06-17  发布在  Mysql
关注(0)|答案(4)|浏览(295)

我在日期范围选择器中选择了两个日期,并将它们存储在一个数据库列中,但它只存储一个日期,如: 0000-00-00 . 我不能在一列中存储两个日期,所以我想用连字符(-)将此字符串拆分为两个变量。
这是我的日期范围函数:

<script>
   $(function () {

       //Initialize Select2 Elements
     $('.select2').select2();

     //Date range picker
     $('#bilty_date_range').daterangepicker();

     });
 </script>

这是我的日期插入代码:

'bilty_date_range'      => date('y-m-d',strtotime($bilty_date_range)),

我选择的日期如下:

后端结果如下: 11/07/2018 - 12/25/2018 .

czfnxgou

czfnxgou1#

字符串分割函数在javascript和php中都可用。
在php中,您只需使用

$arr = explode("-", $str);

$date_start = $arr[0];
$date_end = $arr[1];

事实上,在数组中得到两个变量之后,甚至不需要将它们存储到两个独立的变量中。只是过去 $arr[0] 以及 $arr[1] 将它们存储到数据库时。
即。,

'date_start'      => date('y-m-d',strtotime($arr[0])),
'date_end'      => date('y-m-d',strtotime($arr[1])),
hc2pp10m

hc2pp10m2#

如果您想通过mysql进行拆分,可以使用如下子字符串索引:

MariaDB [(none)]> SET @d := '11/07/2018 - 12/25/2018';
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]>
MariaDB [(none)]>
MariaDB [(none)]> SELECT
    -> SUBSTRING_INDEX(@d, '-', 1)  AS date_from,
    -> SUBSTRING_INDEX(@d, '-', -1) AS date_to;
+-------------+-------------+
| date_from   | date_to     |
+-------------+-------------+
| 11/07/2018  |  12/25/2018 |
+-------------+-------------+
1 row in set (0.000 sec)

MariaDB [(none)]>
ryevplcw

ryevplcw3#

使用php函数explode分割字符串,然后使用datetime接口从字符串中创建一个有效的日期,并将其存储为 date 在数据库中键入非字符串!

<?php 

$dates = '11/07/2018 - 12/25/2018';
$d = explode('-', $dates);

$dt1 = new DateTime($d[0]);
$dt2 = new DateTime($d[1]);

print_r($dt1);
print_r($dt2);

echo $dt1->format('Y-m-d');
echo PHP_EOL;
echo $dt2->format('Y-m-d');

演示:https://eval.in/1063328
输出:

DateTime Object
(
    [date] => 2018-11-07 00:00:00.000000
    [timezone_type] => 3
    [timezone] => UTC
)
DateTime Object
(
    [date] => 2018-12-25 00:00:00.000000
    [timezone_type] => 3
    [timezone] => UTC
)
2018-11-07
2018-12-25
njthzxwz

njthzxwz4#

var mystr = '11/07/2018 - 12/25/2018';

//Splitting it with " - " as the separator
var myarr = mystr.split(" - ");

var dateA = myarr[0];  // '11/07/2018'
var dateB = myarr[1];  // '12/25/2018'

相关问题