`
javababy1
  • 浏览: 1230088 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

CTime类format的使用

 
阅读更多

    Theformatargument consists of one or more codes; as inprintf, the formatting codes are preceded by a percent sign (%). Characters that do not begin with%are copied unchanged tostrDest.TheLC_TIMEcategory of the current locale affects the output formatting ofstrftime.(For more information onLC_TIME, seesetlocale.) The formatting codes forstrftimeare listed below:

    %a

    Abbreviated weekday name

    %A

    Full weekday name

    %b

    Abbreviated month name

    %B

    Full month name

    %c

    Date and time representation appropriate for locale

    %d

    Day of month as decimal number (01 – 31)

    %H

    Hour in 24-hour format (00 – 23)

    %I

    Hour in 12-hour format (01 – 12)

    %j

    Day of year as decimal number (001 – 366)

    %m

    Month as decimal number (01 – 12)

    %M

    Minute as decimal number (00 – 59)

    %p

    Current locale's A.M./P.M. indicator for 12-hour clock

    %S

    Second as decimal number (00 – 59)

    %U

    Week of year as decimal number, with Sunday as first day of week (00 – 53)

    %w

    Weekday as decimal number (0 – 6; Sunday is 0)

    %W

    Week of year as decimal number, with Monday as first day of week (00 – 53)

    %x

    Date representation for current locale

    %X

    Time representation for current locale

    %y

    Year without century, as decimal number (00 – 99)

    %Y

    Year with century, as decimal number

    %z,%Z

    Either the time-zone name or time zone abbreviation, depending on registry settings; no characters if time zone is unknown

    %%

    Percent sign

    As in theprintffunction, the#flag may prefix any formatting code. In that case, the meaning of the format code is changed as follows.

    Format code

    Meaning

    %#a,%#A,%#b,%#B,%#p,%#X,%#z,%#Z,%#%

    #flag is ignored.

    %#c

    Long date and time representation, appropriate for current locale. For example: "Tuesday, March 14, 1995, 12:41:29".

    %#x

    Long date representation, appropriate to current locale. For example: "Tuesday, March 14, 1995".

    %#d,%#H,%#I,%#j,%#m,%#M,%#S,%#U,%#w,%#W,%#y,%#Y

    Remove leading zeros (if any).

    Requirements

    Routine

    Required header

    Compatibility

    strftime

    <time.h>

    ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP

    wcsftime

    <time.h> or <wchar.h>

    ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP

    Example

    // crt_times.c
    /* This program demonstrates these time and date functions:
    * _time64 _ftime64 _ctime64 asctime
    * _localtime64 _gmtime64 _mktime64 _tzset
    * _strtime _strdate strftime
    *
    * Also the global variable:
    * _tzname
    */

    #include <time.h>
    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/timeb.h>
    #include <string.h>

    int main()
    {
    char tmpbuf[128], ampm[] = "AM";
    __time64_t ltime;
    struct __timeb64 tstruct;
    struct tm *today, *gmt, xmas = { 0, 0, 12, 25, 11, 93 };

    /* Set time zone from TZ environment variable. If TZ is not set,
    * the operating system is queried to obtain the default value
    * for the variable.
    */
    _tzset();

    /* Display operating system-style date and time. */
    _strtime( tmpbuf );
    printf( "OS time:/t/t/t/t%s/n", tmpbuf );
    _strdate( tmpbuf );
    printf( "OS date:/t/t/t/t%s/n", tmpbuf );

    /* Get UNIX-style time and display as number and string. */
    _time64( &ltime );
    printf( "Time in seconds since UTC 1/1/70:/t%ld/n", ltime );
    printf( "UNIX time and date:/t/t/t%s", _ctime64( &ltime ) );

    /* Display UTC. */
    gmt = _gmtime64( &ltime );
    printf( "Coordinated universal time:/t/t%s", asctime( gmt ) );

    /* Convert to time structure and adjust for PM if necessary. */
    today = _localtime64( &ltime );
    if( today->tm_hour >= 12 )
    {
    strcpy( ampm, "PM" );
    today->tm_hour -= 12;
    }
    if( today->tm_hour == 0 ) /* Adjust if midnight hour. */
    today->tm_hour = 12;

    /* Note how pointer addition is used to skip the first 11
    * characters and printf is used to trim off terminating
    * characters.
    */
    printf( "12-hour time:/t/t/t/t%.8s %s/n",
    asctime( today ) + 11, ampm );

    /* Print additional time information. */
    _ftime64( &tstruct );
    printf( "Plus milliseconds:/t/t/t%u/n", tstruct.millitm );
    printf( "Zone difference in hours from UTC:/t%u/n",
    tstruct.timezone/60 );
    printf( "Time zone name:/t/t/t/t%s/n", _tzname[0] );
    printf( "Daylight savings:/t/t/t%s/n",
    tstruct.dstflag ? "YES" : "NO" );

    /* Make time for noon on Christmas, 1993. */
    if( _mktime64( &xmas ) != (__time64_t)-1 )
    printf( "Christmas/t/t/t/t%s/n", asctime( &xmas ) );

    /* Use time structure to build a customized time string. */
    today = _localtime64( &ltime );

    /* Use strftime to build a customized time string. */
    strftime( tmpbuf, 128,
    "Today is %A, day %d of %B in the year %Y./n", today );
    printf( tmpbuf );
    }

    Sample Output

    OS time: 14:15:49
    OS date: 02/07/02
    Time in seconds since UTC 1/1/70: 1013120149
    UNIX time and date: Thu Feb 07 14:15:49 2002
    Coordinated universal time: Thu Feb 07 22:15:49 2002
    12-hour time: 02:15:49 PM
    Plus milliseconds: 455
    Zone difference in hours from UTC: 8
    Time zone name: Pacific Standard Time
    Daylight savings: NO
    Christmas Sat Dec 25 12:00:00 1993

    简单点的如下:

    CString msg1="aaaaaaaaaaa";

    KillTimer(1);

    CTime t = CTime::GetCurrentTime();

    char szTime[8];

    int nHour = t.GetHour();

    int nMinute = t.GetMinute();

    int nSecond = t.GetSecond();

    wsprintf(szTime, "%02i:%02i:%02i", nHour, nMinute,nSecond);//分秒一般习惯用两位表

    m_edit1=szTime;

    UpdateData (FALSE);

    SetTimer(1, 1000,NULL);

    msg1=t.Format("%d-%m-%y"); //可以看到format的功能

    MessageBox(msg1);

    format中参数的含义见上面的说明

    源文档 <http://www.cnblogs.com/Richinger/archive/2005/04/07/133162.html>

分享到:
评论

相关推荐

    CTime::Format参数使用说明

    以下示例展示了如何使用 `CTime::Format` 方法来格式化日期和时间: ```cpp CTime ct = CTime::GetCurrentTime(); CString str = ct.Format("%Y-%m_%d%H-%M-%S"); // 输出为:str="2006-04-2315-21-30" ``` 在这个...

    MFC常用类、成员函数、数组类、Cstring类、CTime类、CPoint类

    MFC 常用类、成员函数、数组类、CString 类、CTime 类、CPoint 类 MFC 提供了许多有用的类和成员函数,帮助开发者快速实现各种功能。这里我们将介绍 MFC 中的一些常用类和成员函数,包括数组类、CString 类、CTime ...

    VS2019 CTime、CTimeSpan例程ConsoleApplicationCTimeAndCTimeSpan.rar

    3. 输出:`CTime`可以使用`Format`函数格式化输出,例如: ```cpp CString formattedTime = currentTime.Format("%Y-%m-%d %H:%M:%S"); ``` 这将返回类似于"2022-04-07 15:30:45"的字符串。 4. 转换:`CTime`可以...

    CString类型转换为CTime类型的函数

    `CTime`类是MFC提供的用于表示和操作日期与时间的对象,它支持各种日期时间格式以及相关的运算。 #### 2. 参数说明 - **输入参数**: - `CString strTm`:表示一个包含日期信息的字符串,该字符串的格式应为...

    CTime具体格式

    本文将深入探讨如何使用CTime类来获取和格式化系统当前的日期与时间,以及如何解析特定格式的日期字符串并将其转换为CTime对象,这对于任何需要处理时间数据的应用程序都至关重要。 ### CTime类的基本操作 #### 1....

    mfc使用期限设置

    可以关联一个 DateTimeCtrl 类型的变量,然后在响应事件中使用 CTime 类获取当前选择的日期和时间。例如: ```c CTime tm; m_date.GetTime(tm); CString strDate = tm.Format("%Y-%m-%d"); ``` 这段代码可以获取当前...

    VC获取系统当前时间

    VC获取系统当前时间 在本节中,我们将探讨使用VC++获取系统当前时间的方法。通过调用VC++自带的CTime类,我们可以...使用VC++获取系统当前时间非常简单,我们只需要调用CTime类,并使用Format函数来格式化时间字符串。

    电子时钟C++

    我们可以在OnPaint()中调用CTime的成员函数获取当前时间,并使用CFont、CBrush和CDC类来绘制时间文本,使其具有特定的颜色、字体和样式。 为了使时钟实时更新,我们需要定时重绘对话框。这可以通过安装一个定时器来...

    visual c++ vc 时间控件的用法.zip

    - 要显示或设置CTime对象,可以使用`CTime::Format()`方法,它可以将时间转换为可读的字符串格式。 2. **CDateTimePicker控件**: - 在资源编辑器中,你可以添加一个CDateTimePicker控件到对话框资源上,然后通过...

    MFC实现时钟 MFC实现时钟

    通过CTime::GetLocalTime或CTime::GetSystemTime可以获取当前的本地或系统时间,然后使用CTime::Format函数将其格式化为字符串。 除了基础的时钟功能,我们还可以添加额外的功能,例如设置闹钟、计时器或者显示日期...

    vc++ MFC应用 显示当前时间

    当我们想要在MFC应用中显示当前时间时,我们需要使用CTime类和CDateTimeCtrl类来实现这一功能。以下将详细介绍这两个类以及如何在MFC应用中使用它们。 首先,`CTime`是MFC中的一个类,它代表日期和时间。我们可以...

    TimeConvert.zip_timeconvert

    在VS2010 MFC中,我们可以使用CTime类来处理日期和时间。CTime类提供了丰富的成员函数,用于创建、比较、操作和格式化时间。为了将世界秒转换为系统时间,我们需要以下步骤: 1. **创建CTime对象**:首先,创建一个...

    VC 获取当前的日期、时间并格式化输出.rar

     m_time=CTime::GetCurrentTime();//获取当前时间日期  m_strDate=m_time.Format("%x");//格式化日期  m_strTime=m_time.Format("%X");//格式化时间  m_strDateTime=m_time.Format("%Y-%m-%d %H:%M:%S 第%W周...

    MFC控件使用

    通过CTime类获取和显示系统时间,使用TEXT控件展示信息,结合滚动条控件实现用户交互,以及利用CString类进行数据类型转换,这些都是MFC应用开发中常见的操作。理解并熟练运用这些知识点,将有助于提升你在Windows...

    mfc是如何封装windows的api

    在Windows编程环境中,MFC(Microsoft Foundation Classes)是微软提供的一套C++库,它...在实际项目中,可以根据需求利用`CTime`类及其派生类`CMyTime`来处理各种日期时间相关的逻辑,实现高效且准确的时间处理功能。

    MFC动态显示当前时间

    在这段代码中,我们使用`CTime`的`Format`方法将时间格式化为字符串,然后将其设置到`CEdit`控件中。 总结一下,实现MFC动态显示当前时间的步骤如下: 1. 使用`CTime::GetCurrentTime()`获取当前系统时间。 2. 创建...

    VC++获取系统当前时间

    本篇将详细介绍两种主要的方法:使用`SYSTEMTIME`结构和`CTime`类来获取系统当前日期和时间。 首先,我们来看第一种方法——使用`SYSTEMTIME`结构。`SYSTEMTIME`是Windows API提供的一种数据结构,用于存储日期和...

    Cstring 和Time之间的相互转换

    2. **`CString`与`CTime`的转换**:为了将`CTime`对象转换为`CString`,我们可以使用`Format()`方法。此方法允许我们自定义时间的格式,如: ```cpp CTime timeObj; // ... 初始化timeObj CString strTime = timeObj...

    C++ 获取代码运行时间的各种方法.pdf

    在Windows环境中,还可以使用MFC库中的 `CTime` 类来获取系统时间,并通过 `GetLocalTime` 获取本地时间: ```cpp #include #include int main() { CTime tm; CString str; tm = CTime::GetCurrentTime(); ...

    获取电脑参数(系统时间,内存,物理地址等)

    你可以通过调用CTime::GetLocalTime()或CTime::GetSystemTime()来获取当前的本地时间或系统时间,然后可以使用成员函数如CTime::Format()格式化输出日期和时间。 其次,获取内存信息通常涉及到Windows API。在MFC中...

Global site tag (gtag.js) - Google Analytics