可以使用setfill()设置2位数字吗?

时间:2018-10-09 17:58:52

标签: c++ date formatting ostream iomanip

说如果我想在输入为18时显示2018,那么如何使其在2018年显示“ 20”?我尝试使用setfill(“ 20”),但是它是字符串而不是char,因此无法正常工作。但是当我使用setfill('2');它将显示2218。

1 个答案:

答案 0 :(得分:0)

格式化工具setfill()旨在通过重复一个字符来填充空白处。因此,使用字符串不可能获得这种效果。

对于时间格式设置,您可以将put_time()与格式字符串一起使用以指示所需的格式(例如,SELECT m.*, f.* FROM users AS m JOIN friends AS p ON m.id = p.user_id LEFT JOIN users AS f ON p.friend_id = f.id WHERE m.username = '$username' ORDER BY p.last_act DESC Y2018为{ {1}}),前提是您已通过tm结构传递了真实日期(即2018年)。

您可以尝试以下方法:

y

但是更好的方法是确保以4位数字输入日期(这样可以避免您将来遇到2100年的错误),或者使用某些函数来执行此操作,以便-如果需要-您的未来很容易在代码中找到微妙的地方。