我目前使用格式MM-dd-yyyy HH:mm
来显示时间戳。如果时间没有任何分钟成分,是否可以减少分钟数?
比如,3:00 PM
可以只显示3 PM
?
func formatDate(_ dateFormat: String, timeInterval: TimeInterval) -> String {
let date = Date(timeIntervalSince1970: timeInterval)
let formatter = DateFormatter()
formatter.dateFormat = dateFormat
return formatter.string(from: date)
}
let formattedDate = formatDate("MM-dd-yyyy HH:mm", timeInterval: 1520422200)
print(formattedDate)
编辑:
echo "<table>";
echo "<tr>
<th>ID</th>
<th>Date</th>
<th>Reference</th>
</tr>" ;
while ($row = $result->fetch_object())
{
echo "<td>" . $row->id . "</td>";
echo "<td>" . $row->date . "</td>";
echo "<td>" . $row->ref . "</td>";
}
echo " <tr>
<th>First Name</th>
<th>Father Name</th>
<th>Phone</th>
</tr>";
while ($row = $result->fetch_object())
{
echo "<td>" . $row->name . "</td>";
echo "<td>" . $row->fname . "</td>";
echo "<td>" . $row->cell . "</td>";
}
echo "<tr>
<th>District</th>
<th>Address</th>
<th>Gender</th>
</tr>";
while ($row = $result->fetch_object())
{
echo "<td>" . $row->district . "</td>";
echo "<td>" . $row->address . "</td>";
echo "<td>" . $row->gender . "</td>";
}
echo "</table>";
答案 0 :(得分:2)
选项1
在返回字符串上用零分钟替换任何。
return formatter.string(from: date).replacingOccurrences(of: ":00", with: "")
选项2
确定是否有分钟,并调整日期格式。
if (Int(timeInterval) % 3600 == 0) {
let newFormat = dateFormat.replacingOccurrences(of: ":mm", with: "")
// ...
}
答案 1 :(得分:0)
您可以使用DateComponents
来确定.minute
组件是什么。如果非零,则将日期格式设置为包括分钟,否则将其设置为不包含日期。
请注意,如果这是面向用户的字符串,请使用setLocalizedDateFormatFromTemplate
,几个小时使用“ j”,这样您就可以遵守用户设置是否显示24小时制。
请注意,对于大多数用户来说,看到24小时无分钟的时间可能很奇怪(例如“ 9pm”与“ 21”,后者看起来不正确,如果使用“:00”可能会更好)。