您好我有这个字符串,它会生成我在db
中插入的时间$time=mktime(date('G'),date('i'),date('s'));
$NowisTime=date('Gis',$time);
现在我需要读取该字符串的冒号::
我需要在没有冒号的情况下生成和插入它,但是在重新插入冒号的另一个地方显示,所以它看起来像这样:
13:24:09
而不是:
132409
同样适用于$todaydate = date('Ymd');
那应该成为2011-06-16
我该怎么做?
计算单词并不好,因为根据实际时间和日期我们可以有更多或更少的类型。
请告知
谢谢!
对于谁不理解:这些值取自DB,所以我不能使用:date('Y-m-d');取自db ........
的值答案 0 :(得分:2)
同样适用于$ todaydate = 日期( 'YMD');
那应该成为当时的2011-06-16
对于这个,请尝试:
date('Y-m-d');
与您的其他部分相似。
编辑:: 对于日期:
$ time =“来自数据库的时间”; $ unixtimestamp = strtotime($ time); $ date = date('Y-m-d',$ unixtimestamp);
时间:
$time = strtotime("time from database");
$yourtime = date("H:i:s", $time);
答案 1 :(得分:2)
您提供的用于格式化的字符串可以包含您想要的任何内容,因此将破折号或分号放在那里没有问题。您甚至可以包含其他文本,只要日期代码中使用的任何字母都使用反斜杠进行转义。
整个
$time=mktime(date('G'),date('i'),date('s'));
$NowisTime=date('Gis',$time);
也可以改写。您正在编制当前时间的时间戳,然后将其提供给date()
。 date
默认使用当前时间,因此无需显示当前时间。
这是一种方式:
$NowisTime=date('G:i:s');
答案 2 :(得分:2)
如果您正在按照自己的意思行事,可以从最后开始计算字符数,并在正确的位置添加字符(:
和-
):
date('is')
和date('Ymd')
都使用前导零生成固定格式,因此长度始终相同。您只需要补偿date('G')
部分。
所以你真的需要做的就是从字符串末尾剪掉2个字符两次,剩下的就是年份或小时。
答案 3 :(得分:2)
如果您使用date('his')
代替并将其转换为字符串(因此PHP不会将其解释为整数并删除可能的前导零),您可以通过每两个数字拆分字符串来添加冒号然后用冒号爆炸。
$d = (string)date( 'his' );
echo (int)$d; //Format without colons
echo implode( ':', array_map('intval', str_split( $d, 2 ) ) );
对于第二部分,除了将字符串拆分为4个字符,然后将第二个拆分拆分为2之外,执行相同操作。
$d = date('Ymd');
echo $d; //Format without dashes
list($year, $second) = str_split( $d, 4 );
$parts = str_split( $second );
array_unshift( $parts, $year );
echo implode( '-', $parts );
在这两种情况下,使用格式化的字符串(使用冒号和破折号)开始更容易,并为数据库删除它们。
$d = date('G:i:s');
echo $d; //With colons
echo str_replace( ':', '', $d );
$d = date('Y-m-d');
echo $d; //With dashes
echo str_replace( '-', '', $d );
答案 4 :(得分:2)
你不能做类似的事情:
$new = "";
for ($i = 2; $i <= strlen($NowisTime); $i+2) {
$new .= $NowisTime[$i-2] . $NowisTime[$i-1] . ":";
}
答案 5 :(得分:2)
在生成要存储在数据库中的值时,请使用Unix时间戳:
$timestamp = time();
// store $timestamp in your database
这样你就不必担心它的外观或解析方式了。然后,当您准备好将其显示给用户时,您可以使用:
$formattedTime = date('G:i:s', $timestamp);
将为您的用户显示殖民地(甚至是单词?)格式。
答案 6 :(得分:1)
$NowisTime=date('G:i:s',$time);
$todaydate = date('Y-m-d');