php取出mysql表单数据为时间戳,怎么转换成时间格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php取出mysql表单数据为时间戳,怎么转换成时间格式相关的知识,希望对你有一定的参考价值。
<?php
mysql_query("SET NAMES utf8");//解决数据库中有汉字时显示在前台出现乱码问题
$result = mysql_query("SELECT title,writer,senddate,body FROM dede_mynews");
//print_r(mysql_fetch_array($result));//取得第一条数据
echo "<table border='1'>
<tr>
<th>标题</th>
<th>作者</th>
<th>时间</th>
<th>内容</th>
</tr>";
while($row = mysql_fetch_array($result))//转成数组,且返回第一条数据,当不是一个对象时候退出
echo "<tr>";
echo "<td width=40%>" . $row['title'] . "</td>";
echo "<td width=10%>" . $row['writer'] . "</td>";
echo "<td width=10%>" . $row['senddate'] . "</td>";//显示为时间戳,怎么转换成时间
echo "<td width=40%>" . $row['body'] . "</td>";
echo "</tr>";
echo "</table>";
?>
Javascript:如何将 exif 日期时间数据转换为时间戳? [复制]
【中文标题】Javascript:如何将 exif 日期时间数据转换为时间戳? [复制]【英文标题】:Javascript: How to convert exif date time data to timestamp? [duplicate] 【发布时间】:2017-08-22 09:06:12 【问题描述】:在 javascript 中,使用 exif-js 提取图像文件的元数据时,我得到的日期时间格式为 2017:03:09 14:49:21。
DateTimeOriginal 属性中的值格式为 YYYY:MMY:DD HH:MM:SS。当我使用 var d = new Date(2017:03:09 14:49:21) 时,它返回 NaN。导致问题的是 YYYY、MM 和 DD 之间的冒号。
如何解决这个问题?
提前致谢。
【问题讨论】:
2017:03:09 14:49:21 是时间戳。 【参考方案1】:我的建议是使用 Moment (http://momentjs.com/docs/),因为它提供了对日期的清晰解析。使用 Moment,您想要的是这样的:
var tstamp = moment("2017:03:09 14:49:21", "YYYY:MM:DD HH:mm:ss");
var date = tstamp.toDate();
【讨论】:
感谢您的回复。还有其他方法吗?因为我不想为一个数组加载整个 js,除非它是唯一的方法。 只是“使用库 X”的答案并不是特别有用。解析 OP 的格式是 2 行代码。 如果要正确解析EXIF日期,需要使用这种解析语法:"YYYY:MM:DD HH:mm:ss"。【参考方案2】:如果格式始终相同,您可以进行简单的字符串操作并创建日期,如:
var str = "2017:03:09 14:49:21".split(" ");
//get date part and replace ':' with '-'
var dateStr = str[0].replace(/:/g, "-");
//concat the strings (date and time part)
var properDateStr = dateStr + " " + str[1];
//pass to Date
var date = new Date(properDateStr);
console.log(date);
【讨论】:
太棒了。谢谢:) 然后看着它在 Safari 中失败。 :-( 解析字符串只是为了生成一个新字符串,然后必须由内置解析器解析(非常不可靠)是没有任何意义的。只需收集数字并将它们直接提供给 Date 构造函数(减去1 当然是一个月)。【参考方案3】:不要使用内置解析器(即 Date 构造函数或 Date.parse)来解析字符串,因为它在很大程度上依赖于实现且不可靠。如果您可以相信该日期是有效的,那么可以执行以下操作:
/* Parse date string in YYYY-MM-DD hh:mm:ss format
** separator can be any non-digit character
** e.g. 2017:03:09 14:49:21
*/
function parseDate(s)
var b = s.split(/\D/);
return new Date(b[0],b[1]-1,b[2],b[3],b[4],b[5]);
console.log(parseDate('2017:03:09 14:49:21').toString());
为值添加验证相当容易。否则,请使用库并确保指定要解析的格式。
【讨论】:
太好了,谢谢 :) 这是答案,但在 Node.js 中,您可以使用已接受的答案。 OR const getDate = (s) => const [年、月、日、时、分、秒] = s.split(/\D/) return new Date(year,month-1,date,hour,min,秒)以上是关于php取出mysql表单数据为时间戳,怎么转换成时间格式的主要内容,如果未能解决你的问题,请参考以下文章