首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHP中分割时间值?

如何在PHP中分割时间值?
EN

Stack Overflow用户
提问于 2019-04-18 07:07:45
回答 4查看 979关注 0票数 0

我使用时间选择器js从HTML表单中获得这些时间值。

我想把这个值分成三个变量,即$hour、$minute和$period。

问题是我不能将'AM''PM'值拆分为另一个变量。

$minute保存值"00 PM“。我希望AM或PM存储到另一个变量$period中。

我在下面的代码中所做的。

Time.php

代码语言:javascript
复制
<?php

// $btArray           = explode(':', $_POST['app_time']);    

$btArray              = explode(':', '11:00 PM');
$hour                 = strlen(trim($btArray[0])) > 1 ? trim($btArray[0]) : '0' . trim($btArray[0]);
$minute               = trim($btArray[1]);
$period               = trim($btArray[2]);


$query = "UPDATE TABLE
SET 
                BOOK_TIME       = '" . $hour . ":" . $minute . "', 
                TIME_PERIOD     = '" . $period ."'

WHERE 
                TRACK_NUM       = ''
";
?>

我的目标是将值拆分,以便将其存储到数据库中。

感谢有人能帮我解决这个问题。

谢谢。

EN

回答 4

Stack Overflow用户

发布于 2019-04-18 07:14:39

代码语言:javascript
复制
$btArray= "7:00 am";
preg_match("/([0-9]{1,2}):([0-9]{1,2}) ([a-zA-Z]+)/", $btArray, $match);
$hour = $match[1];
$min = $match[2];
$period = $match[3];

$query = "UPDATE TABLE
              SET 
                BOOK_TIME       = '" . $hour . ":" . $minute . "', 
                TIME_PERIOD     = '" . $period ."'
              WHERE 
                TRACK_NUM       = ''
";
票数 1
EN

Stack Overflow用户

发布于 2019-04-18 07:20:20

尝尝这个,

代码语言:javascript
复制
$time = '11:00 PM';
//first remove right two char
$period = substr($time, -2, 2);
//remove that string from main string
$newTime = str_replace($period, "", $time);
//convert remaining string to array
$btArray = explode(':', $newTime);
//check hour string length and concate 0
$hour = (strlen($btArray[0]) > 1) ? $btArray[0] : '0'.$btArray[0];
$mint = $btArray[1];
echo $hour.'<pre>';
echo $mint.'<pre>';
echo $period.'<pre>';
die;

输出:

代码语言:javascript
复制
11
00
PM
票数 1
EN

Stack Overflow用户

发布于 2019-04-18 07:22:47

您可以尝试使用下面的代码来实现您的期望输出。

代码语言:javascript
复制
$btArray = explode(':', '11:00 PM');
$hour = strlen(trim($btArray[0])) > 1 ? trim($btArray[0]) : '0' . trim($btArray[0]);
$minute_period_array = explode(' ', $btArray[1]);
$minute = trim($minute_period_array[0]);
$period = trim($minute_period_array[1]);
echo 'Hour - ' . $hour . '<br/>';
echo 'Minute - ' . $minute . '<br/>';
echo 'Period - ' . $period . '<br/>';

输出:

代码语言:javascript
复制
Hour - 11
Minute - 00
Period - PM
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55740798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档