我尝试格式化
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
要 等效字符串:
date = 2015-05-07 10:12:14.000243
但我错了价值:
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").format(date);
你能帮帮我吗?
感谢。
答案 0 :(得分:2)
如果你想获得确切的日期,你需要适当数量的毫秒数字(你刚用1 - S)。
以6位数表示毫秒:
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS").format(date);
对于新日期,输出将为:
2015-05-18 12:17:56.000501
详细了解SimpleDateFormat's Date and Time pattern
更新评论:
如果您的日期确实按照描述的方式进行,我提供的答案应该有效。正如Jesper在评论中提到的那样
请注意,并非所有数据库都以毫秒精度存储日期
下面我创建了一个新的Date对象,其中包含您提供的确切日期。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");
Date date1 = sdf.parse("2015-05-07 10:12:14.000243");
当您打印出该值时,您将按照您希望的方式获取它:
sdf.format(date1);