c语言date函数 c语言中的date

date函数的C语言struct tm *localtime( const time_t *timer );
struct tm *_localtime32( const __time32_t *timer);
struct tm *_localtime64( const __time64_t *timer );
在struct tm结构体中有相应的时间信息 。
其MSDN中的结构属性为:tm_hourHours since midnight (0–23)tm_isdstPositive if daylight saving time is in effect; 0 if daylight saving time is not in effect; negative if status of daylight saving time is unknown. The C run-time library assumes the United States' rules for implementing the calculation of Daylight Saving Time (DST).tm_mdayDay of month (1–31)tm_minMinutes after hour (0–59)tm_monMonth (0–11; January = 0)tm_secSeconds after minute (0–59)tm_wdayDay of week (0–6; Sunday = 0)tm_ydayDay of year (0–365; January 1 = 0)tm_yearYear (current year minus 1900)操作方法
stringdate( string format [, int timestamp] )
返回将整数 timestamp 按照给定的格式字串而产生的字符串 。换句话说,timestamp 是可选的,默认值为time() 。
提示: 自 PHP 5.1.0 起有几个有用的常量可用作标准的日期/时间格式来指定 format 参数 。
注: 要将字符串表达的时间转换成时间戳,应该使用strtotime() 。此外一些数据库有一些函数将其时间格式转换成时间戳(例如 MySQL 的UNIX_TIMESTAMP函数) 。
表格1. 格式字串可以识别以下 format参数的字符串format 字符说明返回值例子日------d月份中的第几天,有前导零的 2 位数字01 到 31D星期中的第几天,文本表示,3 个字母Mon 到 Sunj月份中的第几天,没有前导零1 到 31l(“L”的小写字母)星期几 , 完整的文本格式Sunday 到 SaturdayNISO-8601格式数字表示的星期中的第几天(PHP 5.1.0 新加)1(表示星期一)到 7(表示星期天)S每月天数后面的英文后缀,2 个字符st,nd,rd 或者 th 。可以和 j 一起用w星期中的第几天,数字表示0(表示星期天)到 6(表示星期六)z年份中的第几天0 到 366星期------WISO-8601 格式中每周从星期一开始例如:42(当年的第 42 周)月------F月份 , 完整的文本格式,例如 January 或者 MarchJanuary 到 Decemberm数字表示的月份,有前导零01 到 12M三个字母缩写表示的月份Jan 到 Decn数字表示的月份,没有前导零1 到 12t给定月份所应有的天数28 到 31年------L是否为闰年如果是闰年为 1,否则为 0oISO-8601 格式年份数字,这和 Y 的值相同.Examples: 1999 or 2003Y4 位数字完整表示的年份例如:1999 或 2003y2 位数字表示的年份例如:99 或 03时间------a小写的上午和下午值am 或 pmA大写的上午和下午值AM 或 PMBSwatch Internet 标准时000 到 999g小时,12 小时格式 , 没有前导零1 到 12G小时,24 小时格式 , 没有前导零0 到 23h小时 , 12 小时格式,有前导零01 到 12H小时,24 小时格式,有前导零00 到 23i有前导零的分钟数00 到 59s秒数,有前导零00 到 59时区------e时区标识(PHP 5.1.0 新加)例如:UTC,GMT,Atlantic/AzoresI是否为夏令时如果是夏令时为 1,否则为 0O与格林威治时间相差的小时数例如:+0200T本机所在的时区例如:EST,MDTZ时差偏移量的秒数 。-43200 到 43200完整的日期/时间------cISO 8601 格式的日期(PHP 5 新加)2004-02-12T15:19:21+00:00rRFC 822 格式的日期例如:Thu, 21 Dec 2000 16:01:07 +0200U从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数参见time()格式字串中不能被识别的字符将原样显示 。Z 格式在使用gmdate()时总是返回 0 。例子 1.date()例子
?php// 设定要用的默认时区 。自 PHP 5.1 可用date_default_timezone_set('UTC');// 输出类似:Mondayecho date("l");// 输出类似:Monday 15th of August 2005 03:12:46 PMecho date('l dS \of F Y h:i:s A');// 输出:July 1, 2000 is on a Saturdayecho "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));/* 在格式参数中使用常量 */// 输出类似:Mon, 15 Aug 2005 15:12:46 UTCecho date(DATE_RFC822);// 输出类似:2000-07-01T00:00:00+0000echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));?在格式字串中的字符前加上反斜线来转义可以避免它被按照上表解释 。如果加上反斜线后的字符本身就是一个特殊序列,那还要转义反斜线 。

推荐阅读