将mm:ss和hh:mm转换为php中的时间戳

如何将字符串(如02:00)转换为可以保存到数据库中的时间戳作为 整数? 它可以是mm:ss或hh:mm,具体取决于我希望用户在表单中输入的内容。 但它始终是mm:ss或hh:mm </ p>

strtotime </ code>提供不可靠的结果,所以我认为这不是正确的方法。 还有另一种我不知道的方法吗?</ p>

编辑</ strong> </ p>

以更好的方式提问:

我有一个表格,其中包含mm:ss的输入和hh:mm值的输入。 我需要将这些值转换为unix时间戳。 显然strtotime不是这样做的。</ p>
</ div>

展开原文

原文

How can I convert a string, such as 02:00 to a timestamp that can be saved into the databse as an integer? It can either be mm:ss or hh:mm depending on what I want the user to input in the form. But it's always either mm:ss or hh:mm

strtotime delivers unreliable results, so I figured it's not the right way to go. Is there another way I'm not aware of?

EDIT

To ask the question in a better way: I have a form that has an input for mm:ss and an input for hh:mm values. I need to convert these values to unix timestamps. Obviously strtotime is not the way to go for this.

php
duanjie9630
duanjie9630 嗯,是的,我的问题似乎是另一个问题。我想在时间字段中保存这两个值,然后从那里开始。我完全忘记了时间数据类型。谢谢
4 年多之前 回复
duangan4406
duangan4406 请再次阅读时间戳的定义。
4 年多之前 回复
duanjia4817
duanjia4817 u_mulder嗯,不,用户只需要输入mm:ss值,在另一个字段中输入hh:mm值。我会用日期输出这些值('i:s',$time);和日期('H:i',$time);分别。这是一个不好的方法吗?
4 年多之前 回复
dongliao9018
dongliao9018 Unix时间戳表示自特定日期以来经过的秒数。因此,对于正确的时间戳,您需要一个日期,一个完整的日期-年,月,日。你有吗?
4 年多之前 回复
dongzong3053
dongzong3053 u_mulder不,它应该是一个unix时间戳
4 年多之前 回复
douwen6274
douwen6274 马克贝克,是的,我措辞愚蠢
4 年多之前 回复
dsuw85815
dsuw85815 克里斯,这不是问题,因为价值来自不同的输入。
4 年多之前 回复
drbfxb977777
drbfxb977777 strtotime提供不可靠的结果这不是不可靠的,这是因为strtotime不玩猜谜游戏
4 年多之前 回复
duanqizao6492
duanqizao6492 你必须分别处理这两种情况,因为无法区分hh:mm和mm:ss。您最好的选择可能是使用正则表达式提取两个段然后转换为秒。
4 年多之前 回复
douzhan1994
douzhan1994 那么02:00-120的时间戳是多少?
4 年多之前 回复

1个回答



您只能将分钟或小时转换为时间戳,您需要有一个日期。 在php中你可以使用mktime函数:</ p>

  $ time = mktime($ hours,$ minutes,$ seconds,$ month,$ day,$ year); 
</ 代码> </ pre>

文档: http:// php。 net / manual / en / function.mktime.php </ p>

例如你有hh:mm输入</ p>

  $ input  = '02:15'; 

$ arr = array_map('intval',explode(':',$ input));

//为今天的日期选择时间创建时间戳
$ time = mktime($ arr [0],$ arr [1],1,日期('m'),日期('d'),日期('Y'));
</ code> </ pre>
</ DIV>

展开原文

原文

You cant convert only minutes or hours to timestamp, you need to have a date. In php you can use mktime function:

$time = mktime($hours, $minutes, $seconds, $month, $day, $year);

Docs: http://php.net/manual/en/function.mktime.php

For example you have hh:mm input

$input = '02:15';

$arr = array_map('intval', explode(':', $input));

// Create timestamp with selected time for today date
$time = mktime($arr[0], $arr[1], 1, date('m'), date('d'), date('Y'));

duanji1482
duanji1482 我想我应该将值保存到数据库中的时间字段中...我想这将是正确的方法。
4 年多之前 回复
doushi9444
doushi9444 那么,比如,爆炸例如02:00,然后使用mktime()与各自的值?
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐