我们可以将本地系统格式配置为D/M/YYYY或DD/MM/YYYY。在我的项目中,我们必须获取本地日期格式,并将其按原样显示在列表框中。我将我的机器配置为DD/MM/YY,我们使用CTime函数从系统中获取当前时间,但CTime从每天的1到9天只返回一位数字(例如:2022年2月2日,而不是2022年2日(month.i有没有其他函数可以获得与系统日期格式相同的日期格式,或者有没有其他功能可以获得正确的日期格式(我们使用的是带有c++平台的visual studio(。以下是每月1日至9日的个位数日期示例代码
now= ctime(&timer);
sscanf(now, "%s %s %s %s %sn", w, month, day, time, year);
日期:2022年2月2日如果本地系统格式为DD/MM/YYY,则scanf语句中的day应为02;如果本地系统格式化为D/M/YYY则scanf声明中的day应该为2。请建议
提前感谢
此处https://learn.microsoft.com/en-us/windows/win32/api/datetimeapi/nf-datetimeapi-getdateformata您有getdateformat函数的规范,使用该函数可以获得本地系统的格式。然后,您可以使用%s或%.2s对输出进行正确格式化,强制为0-9值填充一个零。
将strftime
与%D
格式字符串一起使用。