设为首页 收藏本站
查看: 635|回复: 0

[经验分享] DateFormat PHP Class (php 处理日期)

[复制链接]

尚未签到

发表于 2017-3-4 13:32:56 | 显示全部楼层 |阅读模式
  代码:

<?php
class FormatDate
{
var $theTime;
function FormatDate($string)
{
//Set constructor
$this->theTime = $string;
}
//Returns numerical day
function Day() {return date("j", $this->theTime); }
//Returns weekday
function WeekDay() { return date("l", $this->theTime); }
//Returns full month
function Month(){return date("F", $this->theTime); }
//Returns short-hand month
function MonthShort() { return date("M", $this->theTime); }
//Numeric for month
function MonthNum() { return date("n", $this->theTime); }
//Full 4 digit year
function YearFull() { return date("Y", $this->theTime); }
//Short 2 digit year
function Year() { return date("y", $this->theTime); }
//24 Hr with Seconds
function MilitaryFull(){return date("G:i:s", $this->theTime); }
//24 Hr without Seconds
function Military(){return date("G:i", $this->theTime); }
//Standard with seconds
function StandardFull(){return date("g:i:s a", $this->theTime); }
//Standard without seconds
function Standard(){return date("g:i a", $this->theTime); }
//Date & Month & Year Full
function TextDate(){$string = $this->Month()." ".$this->Day()." ".$this->YearFull();
return $string;
}
//Date & Month & Year Shorthand
function TextDateShort(){$string = $this->MonthShort()." ".$this->Day()." ".$this->Year();
return $string;
}
//Numerical Date & Month & Year
function NumDate(){$string = $this->MonthNum()."/".$this->Day()."/".$this->YearFull();
return $string;
}
//Numerical Date & Month & Year Shorthand
function NumDateShort(){$string = $this->MonthNum()."/".$this->Day()."/".$this->Year();
return $string;
}
//Month & Day Full
function MonthDay(){$string = $this->Month()." ".$this->Day();
return $string;
}
//Month & Day Short
function MonthDayShort(){$string = $this->MonthShort()." ".$this->Day();
return $string;
}
function TimeSince($old_stamp) {
$difference = $this->theTime - $old_stamp;
$loop = true;
while($loop) {
if(round($difference/3153600, 2) >= 1) { return "Over a year..."; }
elseif(round($difference/2592000, 2) >= 2) { return "Over ".round($difference/2592000,0)." months ago..."; }
elseif(round($difference/2592000, 2) >= 1.20) { return "Over a month ago..."; }
elseif(round($difference/604800, 2) >= 2) { return "Over ".round($difference/604800,0)." weeks ago.."; }
elseif(round($difference/604800, 2) >= 1.20) { return "Over a week ago.."; }
elseif(round($difference/86400, 2) >= 1.9) { return "Over a few days ago...";}
elseif(round($difference/3600, 2) >= 3) { return "Just a few hours ago.."; }
elseif(round($difference/3600, 2) >= 8) { return "About half a day ago..."; }
elseif(round($difference/3600, 2) < 1) { return "Less than an hour ago..."; }
elseif(round($difference/86400, 2) < 1.9) { return "About a day ago..."; }
elseif(round($difference/86400, 2) < 6 ) { return "Less than a week ago..."; }
elseif(round($difference/604800, 2) < 1.20) { return "About a week ago.."; }
elseif(round($difference/2592000, 2) < 1.20) { return "About a month ago..."; }
else{ return "Error"; }
$loop = false;
}
}
}
   实例:

$date = new FormatDate(time());
echo $date->Day().'<br>';
// 2
echo $date->WeekDay().'<br>';
// Tuesday
echo $date->Month().'<br>';
// August
echo $date->MonthShort().'<br>';
// Aug
echo $date->MonthNum().'<br>';
// 8
echo $date->YearFull().'<br>';
// 2011
echo $date->Year().'<br>';
// 11
echo $date->MilitaryFull().'<br>';
// 9:08:40
echo $date->Military().'<br>';
// 9:08
echo $date->StandardFull().'<br>';
// 9:08:40 am
echo $date->Standard().'<br>';
// 9:08 am
echo $date->TextDate().'<br>';
// August 2 2011
echo $date->TextDateShort().'<br>';
// Aug 2 11
echo $date->NumDate().'<br>';
// 8/2/2011
echo $date->NumDateShort().'<br>';
// 8/2/11
echo $date->MonthDay().'<br>';
// August 2
echo $date->MonthDayShort().'<br>';
// Aug 2
echo $date->TimeSince(time()).'<br>';
// Less than an hour ago...
  DateFormat Class Documentation


Initialize Class

$date = new FormatDate(time());


Numerical Day

$date->Day();


Text Day

$date->WeekDay();


Month (Full)

$date->Month();


Month (Short)

$date->MonthShort();


Month (Numerical)

$date->MonthNum();


Year (Full)

$date->YearFull();


Year (Short)

$date->Year();


Military (Seconds)

$date->MilitaryFull();


Military (No seconds)

$date->Military();


Standard (Full)

$date->StandardFull();


Standard

$date->Standard();


Text Date (Full)

$date->TextDate();


Text Date (Short)

$date->TextDateShort();


Numerical Date (Full)

$date->NumDate();


Numerical Date (Short)

$date->NumDateShort();


Month and Day (Full)

$date->MonthDay();


Month and Day (Short)

$date->MonthDayShort();


Time Since

$date->TimeSince($timestamp);
  格式: http://php.net/manual/en/function.date.php










format

character
Description
Example returned values


Day

---
---



d

Day of the month, 2 digits with leading zeros

01
to 31




D

A textual representation of a day, three letters

Mon
through Sun




j

Day of the month without leading zeros

1
to 31




l
(lowercase 'L')
A full textual representation of the day of the week

Sunday
through Saturday




N

ISO-8601 numeric representation of the day of the week (added in
PHP 5.1.0)

1
(for Monday) through 7
(for Sunday)



S

English ordinal suffix for the day of the month, 2 characters

st
, nd
, rd
or
th
.  Works well with j




w

Numeric representation of the day of the week

0
(for Sunday) through 6
(for Saturday)



z

The day of the year (starting from 0)

0
through 365




Week

---
---



W

ISO-8601 week number of year, weeks starting on Monday (added in PHP 4.1.0)
Example: 42
(the 42nd week in the year)



Month

---
---



F

A full textual representation of a month, such as January or March

January
through December




m

Numeric representation of a month, with leading zeros

01
through 12




M

A short textual representation of a month, three letters

Jan
through Dec




n

Numeric representation of a month, without leading zeros

1
through 12




t

Number of days in the given month

28
through 31




Year

---
---



L

Whether it's a leap year

1
if it is a leap year, 0
otherwise.



o

ISO-8601 year number. This has the same value as
Y
, except that if the ISO week number
(W
) belongs to the previous or next year, that year
is used instead. (added in PHP 5.1.0)
Examples: 1999
or 2003




Y

A full numeric representation of a year, 4 digits
Examples: 1999
or 2003




y

A two digit representation of a year
Examples: 99
or 03




Time

---
---



a

Lowercase Ante meridiem and Post meridiem

am
or pm




A

Uppercase Ante meridiem and Post meridiem

AM
or PM




B

Swatch Internet time

000
through 999




g

12-hour format of an hour without leading zeros

1
through 12




G

24-hour format of an hour without leading zeros

0
through 23




h

12-hour format of an hour with leading zeros

01
through 12




H

24-hour format of an hour with leading zeros

00
through 23




i

Minutes with leading zeros

00
to 59




s

Seconds, with leading zeros

00
through 59




u

Microseconds (added in PHP 5.2.2)
Example: 654321




Timezone

---
---



e

Timezone identifier (added in PHP 5.1.0)
Examples: UTC
, GMT
, Atlantic/Azores




I
(capital i)
Whether or not the date is in daylight saving time

1
if Daylight Saving Time, 0
otherwise.



O

Difference to Greenwich time (GMT) in hours
Example: +0200




P

Difference to Greenwich time (GMT) with colon between hours and minutes (added in PHP 5.1.3)
Example: +02:00




T

Timezone abbreviation
Examples: EST
, MDT
...



Z

Timezone offset in seconds. The offset for timezones west of UTC is always
negative, and for those east of UTC is always positive.

-43200
through 50400




Full Date/Time

---
---



c

ISO 8601 date (added in PHP 5)
2004-02-12T15:19:21+00:00



r


» RFC 2822
formatted date
Example: Thu, 21 Dec 2000 16:01:07 +0200




U

Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
See also  time()




Unrecognized characters in the format string will be printed
as-is.  The Z
format will always return
0
when using  gmdate()

.


  Note
:


Since this function only accepts integer

timestamps the
u
format character is only useful when using the
date_format()

function with user based timestamps
created with  date_create()

.





timestamp






The optional timestamp

parameter is an
integer

Unix timestamp that defaults to the current
local time if a timestamp

is not given. In other
words, it defaults to the value of  time()

.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-350262-1-1.html 上篇帖子: PHP中的MVC 下篇帖子: PHP函数中文文档
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表