65.9K
CodeProject 正在变化。 阅读更多。
Home

JavaScript DateTime 和 TimeSpan 包装器

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.82/5 (10投票s)

2010年3月3日

CPOL

6分钟阅读

viewsIcon

120661

downloadIcon

1539

几个 JavaScript 类,具有 .NET 中那些著名的类的功能。

引言

想象一下在 JavaScript 中使用这段代码

<script type="text/javascript">

    //Get the current date and time stamp.
    var date = DateTime.now();

    //Add 100 hours to the date
    date = date.addHours(100); 

    //Write the date in a formatted fashion: Monday, 15/Feb/2012
    document.writeline("dddd, dd/MMM/yyyy");

</script> 

是的,用法与 .NET 非常相似,但这是纯粹的 JavaScript

我一直很喜欢 .NET 的 DateTime TimeSpan 类的设计方式。我觉得它们非常有用和直观。这两个类也被设计成以非常相似的方式工作。

项目托管于: http://sourceforge.net/projects/jsdatetime

DateTime 类

构造函数 描述
DateTime(毫秒 : int) 从指定的毫秒数创建一个 DateTime
DateTime(年 : int, 月 : int, 日 : int) 为指定的日期元素创建一个 DateTime
DateTime(年 : int, 月 : int, 日 : int, 时 : int, 分 : int, 秒 : int) 为指定的日期和时间元素创建一个 DateTime
DateTime(年 : int, 月 : int, 日 : int, 时 : int, 分 : int, 秒 : int) 为指定的日期和时间(带毫秒)元素创建一个 DateTime
静态方法 返回值 描述
DateTime.daysInMonth(年 : int, 月 : int) int 返回指定年份的指定月份的天数。
DateTime.isLeapYear(年 : int) bool 返回一个布尔值,指示指定的年份是否为闰年(二月有 29 天)。
DateTime.now() 日期时间 返回当前日期和时间。
DateTime.today() 日期时间 返回当前日期,时间为零。
DateTime.utcNow() 日期时间 返回 UTC(以前称为 GMT)时间。
方法 返回值 描述
add(time : TimeSpan) 日期时间 将指定的时间添加到日期并返回结果。
addDays(天 : int) 日期时间

将指定的天数添加到日期并返回结果。

addHours(小时 : int) 日期时间

将指定的小时数添加到日期并返回结果。

addMilliseconds(毫秒 : int) 日期时间 将指定的毫秒数添加到日期并返回结果。
addMinutes(分钟: int) 日期时间 将指定的分钟数添加到日期并返回结果。
addMonths(月 : int) 日期时间 将指定的月数添加到日期并返回结果。
addSeconds(秒 : int) 日期时间 将指定的秒数添加到日期并返回结果。
addYears(年 : int) 日期时间 将指定的年数添加到日期并返回结果。
compareTo(d : DateTime) int 根据比较结果返回 -1、0 或 1。
date() 日期时间 只返回日期部分,不包含时间。
day() int 返回日期的天。
dayOfWeek() int 返回星期几。1 = 星期一,7 = 星期日。
dayOfYear() int 返回一年中的第几天。
equals(d : DateTime) bool 返回一个布尔值,指示 d 是否为同一日期。
format(format : string) 字符串

返回格式化的日期。格式与 .NET 的日期时间自定义格式非常相似。

  • d - 月份中的一天,1 到 31。
  • dd - 月份中的一天,01 到 31。
  • ddd - 星期中的一天,周一到周日。
  • dddd - 星期中的一天,星期一到星期日。
  • f - 毫秒 / 100。
  • ff - 毫秒 / 10。
  • fff - 毫秒。
  • h - 一天中的小时,1 到 12。
  • hh - 一天中的小时,01 到 12。
  • H - 一天中的小时,1 到 23。
  • HH - 一天中的小时,01 到 24。
  • m - 分钟,1 到 59。
  • mm - 分钟,01 到 59。
  • M - 月份,1 到 12。
  • MM - 月份,01 到 12。
  • MMM - 月份,一月到十二月。
  • MMMM - 月份,一月到十二月。
  • s - 秒,1 到 59。
  • ss - 秒,01 到 59。
  • t - 上午 或 下午。
  • tt - AM 或 PM。
  • yy - 年份,10。
  • yyyy - 年份,2010。
  • : - 时间分隔符。
  • / - 日期分隔符。
hour() int 获取日中的小时。
millisecond() int 获取日中的毫秒。
minute() int 获取日中的分钟。
month() int 获取日中的月份。
second() int 获取日中的秒。
subtractDate(d : DateTime) TimeSpan 减去指定的 DateTime 并返回 TimeSpan 结果。
subtractTime(t : TimeSpan) 日期时间 减去指定的 TimeSpan 并返回 DateTime 结果。
timeOfDay() TimeSpan 只获取日期的时间部分。
year() int 获取日期的年份。

翻译字符串

您可以通过更改以下 static 属性的值来翻译类的字符串。

属性 默认值
DateTme.strings.Mon 周一
DateTme.strings.Monday Monday
DateTme.strings.Tue 周二
DateTme.strings.Tuesday 星期二
DateTme.strings.Wed 周三
DateTme.strings.Wednesday 星期三
DateTme.strings.Thu 周四
DateTme.strings.Thursday 星期四
DateTme.strings.Fri 周五
星期五 Friday
DateTme.strings.Sat 周六
DateTme.strings.Saturday Saturday
DateTme.strings.Sun 周日
DateTme.strings.Sunday Sunday
DateTme.strings.Jan 一月
DateTme.strings.January 一月
DateTme.strings.Feb 二月
DateTme.strings.February 二月
DateTme.strings.Mar 三月
DateTme.strings.March 三月
DateTme.strings.Apr 四月
DateTme.strings.April 四月
DateTme.strings.May 五月
五月 五月
DateTme.strings.Jun 六月
DateTme.strings.June 六月
DateTme.strings.Jul 七月
DateTme.strings.July July
DateTme.strings.Aug 八月
DateTme.strings.August 八月
DateTme.strings.Sep 九月
DateTme.strings.September September
DateTme.strings.Oct 十月
DateTme.strings.October October
DateTme.strings.Nov 十一月
DateTme.strings.November November
DateTme.strings.Dec 十二月
DateTme.strings.December December
DateTme.strings.A A
DateTme.strings.AM AM
DateTme.strings.P P
DateTme.strings.PM PM
DateTme.strings.TimeSeparator :
DateTme.strings.DateSeparator /

TimeSpan 类

构造函数 描述
TimeSpan(毫秒 : int) 从指定的毫秒数创建一个 TimeSpan
TimeSpan(天 : int, 时 : int) 从指定的日数和小时数创建一个 TimeSpan
TimeSpan(小时 : int, 分钟 : int, 秒 : int) 从指定的小时数、分钟数和秒数创建一个 TimeSpan
TimeSpan(天 : int, 小时 : int, 分钟 : int, 秒 : int) 从指定的日数、小时数、分钟数和秒数创建一个 TimeSpan
TimeSpan(天 : int, 小时 : int, 分钟 : int, 秒 : int, 毫秒 : int) 从指定的日数、小时数、分钟数、秒数和毫秒数创建一个 TimeSpan
方法 返回值 描述
add(t : TimeSpan) TimeSpan 将指定的时间添加到 timespan 并返回结果。
compareTo(t : TimeSpan) int 根据比较结果返回 -1、0 或 1。
days() int 返回 TimeSpan 中的天数。
duration() TimeSpan 返回 TimeSpan 的绝对值。
equals(t : TimeSpan) bool 返回一个布尔值,指示指定的 TimeSpan 是否具有相同的值。
hours() int 返回 TimeSpan 中的小时数。
negate() TimeSpan 返回时间的负值。
milliseconds() int 返回 TimeSpan 中的毫秒数。
minutes() int 返回 TimeSpan 中的分钟数。
seconds() int 返回 TimeSpan 中的秒数。
totalDays() double 返回 TimeSpan 的总天数。
totalHours() double 返回 TimeSpan 的总小时数。
totalMinutes() double 返回 TimeSpan 的总分钟数。
totalMilliseconds() int 返回 TimeSpan 的总毫秒数。
totalSeconds() double 返回 TimeSpan 的总秒数。
subtract(t : TimeSpan) TimeSpan 将指定 TimeSpan 从值中减去并返回结果。

希望对您有帮助。

历史

  • 2010/3/3 原始帖子
  • 2010/3/3 1 小时后... 修复“内存泄漏”
© . All rights reserved.