如何从这个字符串中获取日期?就在约会

时间:2016-11-04 10:43:54

标签: php string date

s

如何获得没有扩展名的日期和“_”,只是“2016-10-28 15-31-10”?

4 个答案:

答案 0 :(得分:2)

这是更短的方式。如果您想再次使用它们,可以添加变量$ setup和$ explode add。

2016-10-28 15-31-10

结果将是

gyan@localhost:~/codes/java/net$ dig google.com

; <<>> DiG 9.10.3-P4-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11777
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;google.com.            IN  A

;; ANSWER SECTION:
google.com.     269 IN  A   216.58.220.46

;; Query time: 0 msec
;; SERVER: 10.100.171.1#53(10.100.171.1)
;; WHEN: Fri Nov 04 16:18:07 IST 2016
;; MSG SIZE  rcvd: 55

gyan@localhost:~/codes/java/net$ 

答案 1 :(得分:1)

这很可能是一种更好的方法,但这会有效。

$string  = "NCPDP_2016-10-28_15-31-10.csv";
$explode = explode( '_', $string );
echo $explode[ 1 ]."\n";
$explode2 = explode( '.', $explode[ 2 ] );
echo $explode2[ 0 ];

结果:

2016-10-28
15-31-10

答案 2 :(得分:1)

这是一个更短的版本:

$string = 'NCPDP_2016-10-28_15-31-10.csv';
echo trim(preg_replace('/([^\d\-])/', ' ', $string));

我们只需用空格替换不是数字或短划线的所有内容。我们这样做而不是完全删除它的原因是为了保持日期和时间之间的空间。

现在我们可以修剪所有的空白区域,但保持中间位置(日期和时间之间)。

答案 3 :(得分:0)

最简单的方法。

    $str1 = 'NCPDP_2016-10-28_15-31-10.csv'; 
    $replacestr = str_replace("_", ".csv", $str1);
    $explode = explode(".csv", $replacestr);   
    echo $explode[1].' '.$explode[2];