正則從字串提取日期並返回最遲的日期用php語言

2023-01-14 15:35:50 字數 2092 閱讀 9278

1樓:匿名使用者

我以2011-03-08/2011-10-13為例寫兩種方法

第一種unix時間戳

<?php

$str = '2011-03-08/2011-10-13';

$arr = explode('/', $str);

if (maketm($arr[0]) >= maketm($arr[1])) else

function maketm($str)?>

第二種 直接比值

<?php

$str = '2011-03-08/2011-10-13';

$arr = explode('/', $str);

$t = explode("-", $arr[0]);

$s = explode("-", $arr[1]);

if ($t[0] > $s[0])

elseif ($t[0] == $s[0])elseif ($t[1] == $s[1]) else}else

}else

?>

2樓:

先去掉兩個括號及括號裡面的內容(可能需要正則,太久沒用,忘得差不多了,大概要用到萬用字元),去掉/後得兩個時間,剩下兩個時間,比較大小就相對簡單了(strtotime函式)。

php正規表示式求教,**等,日期提取

3樓:匿名使用者

1, 一種是使用以下正則, 取得三個分組, 再將三個分組合並(\d)-(\d)-(\d)

2, 一種是使用替換, 以下是js語法供參考'aabbccc2016-07-31cccddd99.88eee77.66ffff'.

replace(/.*?(\d)-(\d)-(\d).

*/, function(x, a, b, c))

4樓:匿名使用者

$str = 'aabbccc2016-07-31cccddd99.88eee77.66ffff';

preg_replace( '#^.*(\d)\-(\d)-(\d).*$#', '$1$2$3', $str )

如果你的字串裡面沒有其他的格式類似於這種日期的內容的話,那上面的**就可以。

但是不嚴謹。看是不是能滿足你需求吧。

php如何用正規表示式把標準時間年月日轉為橫槓形式

5樓:匿名使用者

首先,應該是雙反斜槓,不是單反斜槓

這裡提供兩種方式

str_replace(array('年','月'),'-',$date_str);

date('y-m-d h:i',strtotime($date_str));

6樓:匿名使用者

為什麼要用正則

試試 strtotime + date

php中怎麼獲取給定時間中的日期部分

7樓:匿名使用者

$mydatetime = "2010-03-30 12:20:05";echo date("y-m-d",strtotime($mydatetime));

8樓:匿名使用者

$mydatetime = "2010-03-30 12:20:05";

$adatetime = explode(" ", $mydatetime);

echo $adatetime[0];

9樓:匿名使用者

$mydatetime = "2010-03-30 12:20:05";echo date(strtotime($mydatetime),"y-m-d");

php 怎麼用正則匹配時間?

10樓:匿名使用者

$str = '1970-01-01 08:33:32';

$arr = preg_split('/[- :]/',$str);

print_r($arr);

11樓:我就知道你信我

用sscanf函式,可以格式化提取出來成一個陣列

EXCEL如何查詢字串,並返回對應字元

lookup 2,0 find h 4 h 6,d4 h 4 h 6 假設h列的資料在h4 h6,d列資料在d4,e4中輸入這個公式,下拉。單元格地址如果不對,自己適當調整。若字串在查詢區域抄是唯一的,可簡襲單用函式解決。示例 要求在a1 c10區域內,查詢存在字串 str 的單元格,返回該單元格地...

androiddialog如何返回字串到原來的

彈出對話方塊 又不會跳activity 沒涉及到傳值啊 spring mvc ajax怎麼返回json字串 後臺返回的js字串或html字串禁止解析 空字串返回什麼 j ascript 一般的都是使用 document.getelementbyid value 來獲取一個值,想要判斷是否為空值 可以...

批處理提取指定字串前面規定個數的字串

echo off setlocal enabledelayedexpansionfor f a in a.txt do set str1 a set str1 str1 54k for f h in str1 do set str2 h echo str2 16 b.txt pause 不用樓上那麼...