daydart 0.0.1 copy "daydart: ^0.0.1" to clipboard
daydart: ^0.0.1 copied to clipboard

outdated

具备 Day.js 一样 API 的时间处理库.

DayDart #

具备 Day.js 一样 API 的时间处理库.

https://img.shields.io/github/license/csjiabin/daydart.svg https://img.shields.io/github/issues/csjiabin/daydart.svg

Getting Started #

This project is a starting point for a Dart package, a library module containing code that can be shared easily across multiple Flutter or Dart projects.

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Install #

在项目下运行此命令

dart pub add daydart
# or
flutter pub add daydart

API #

DayDart 对象是不可变的,所有的调用都将返回一个新的 DayDart 对象。


解析 #

DayDart 中传入支持的格式。

默认值

不带参数调用 DayDart()将返回一个新的DayDart对象,其中包含当前日期和时间

DayDart now = DayDart()

字符串

ISO 8601 格式解析给定字符串并返回DayDart对象实例。

DayDart('2018-04-04')

DateTime 对象

传入的一个 DateTime 对象。

DayDart(DateTime.now());

时间戳(毫秒)

通过一个毫秒的整数值来创建DayDart

DayDart(1623484401193);

克隆

所有 DayDart 对象是不可变的。如果需要的话,DayDart#clone 仍然可以创建当前对象的一个克隆。

DayDart a = DayDart()
DayDart b = a.clone()

DayDart对象上调用 DayDart()也会克隆它。

DayDart a = DayDart()
DayDart b = DayDart(a)

验证

返回一个布尔值,指示DayDart对象是否包含有效日期。

DayDart().isValid()

获取 #

获取或设置年份。

DayDart().year();
DayDart().year(2000);

获取或设置月份。

接受 1 到 12 的数字。如果超过这个范围,将一直持续到年底。

DayDart().month();
DayDart().month(1);

季度

获取或设置季度。

DayDart('2010-04-01').quarter() // 2
DayDart('2010-04-01').quarter(2)

获取或设置月份的日期。

接受从 1 到 31 的数字。如果超过这个范围,将持续到日。

DayDart().day()
DayDart().day(1)

星期

获取星期

DayDart().week()

小时

获取或设置小时。

接受 0 到 59 的数字。如果超过这个范围,将持续到日。

DayDart().hour()
DayDart().hour(12)

分钟

获取或设置分钟。

接受 0 到 59 的数字。如果超过这个范围,将持续到小时

DayDart().minute()
DayDart().minute(12)

获取或设置秒。

接受 0 到 59 的数字。如果超过这个范围,将持续到分钟。

DayDart().second()
DayDart().second(12)

毫秒

获取或设置毫秒。

接受 0 到 999 的数字。如果超过这个范围,将持续到秒。

DayDart().millisecond()
DayDart().millisecond(12)

操作 #

一旦有了 DayDart 对象,您可能希望以某种方式对其进行操作。

DayDart 支持这样的方法链接:

DayDart('2019-01-25')..add(1, DayUnits.D)..subtract(1, DayUnits.y)..year(2009)..toString()

所有可用单位列表

单位 描述
D 天(1 到 31)
M 月份(1-12)
y
h 小时
m 分钟
s
ms 毫秒

增加

返回一个克隆的 DayDart 对象,并添加指定的时间。

DayDart().add(7, DayUnits.D)

单位不区分大小写,支持复数和缩写形式。

减少

返回克隆的DayDart对象,并减去指定的时间。

DayDart().subtract(7, DayUnits.D)

单位不区分大小写,支持复数和缩写形式。

查询 #

所有可用单位列表

缩写 描述
D
M 月份
y
h 小时
m 分钟
s
ms 毫秒

是否之前

这指示DayDart对象是否在另一个提供的 date-time 之前。

DayDart().isBefore(DayDart('2011-01-01')) // default milliseconds

如果希望将粒度限制为单位而不是毫秒,则将其作为第二个参数传递。

DayDart().isBefore('2011-01-01', DayUnits.y)

是否相同

这指示DayDart对象是否与另一个提供的 date-time 相同。

DayDart().isSame(DayDart('2011-01-01')) // default milliseconds

如果希望将粒度限制为单位而不是毫秒,则将其作为第二个参数传递。

DayDart().isSame('2011-01-01', DayUnits.y)

单位不区分大小写,支持复数和缩写形式。

是否之后

这指示DayDart对象是否在另一个提供的 date-time 之后。

DayDart().isAfter(DayDart('2011-01-01')) // default milliseconds

如果希望将粒度限制为单位而不是毫秒,则将其作为第二个参数传递。

DayDart().isAfter('2011-01-01', DayUnits.y)

单位不区分大小写,支持复数和缩写形式。

是否相同或之前

这表明DayDart对象是相同的还是在另一个提供的 date-time 之前。

DayDart().isSameOrBefore(DayDart('2011-01-01')) // default milliseconds

如果希望将粒度限制为单位而不是毫秒,则将其作为第二个参数传递。

DayDart().isSameOrBefore('2011-01-01', DayUnits.y)

单位不区分大小写,支持复数和缩写形式。

是否相同或之后

这指示DayDart对象是相同的还是在另一个提供的 date-time 之后。

DayDart().isSameOrAfter(DayDart('2011-01-01')) // default milliseconds

如果希望将粒度限制为单位而不是毫秒,则将其作为第二个参数传递。

DayDart().isSameOrAfter('2011-01-01', DayUnits.y)

单位不区分大小写,支持复数和缩写形式。

是否之间

这指示DayDart对象是否位于另外两个提供的 date-time 之间。

DayDart('2010-10-20').isBetween('2010-10-19', DayDart('2010-10-25'))// default milliseconds

如果希望将粒度限制为单位而不是毫秒,则将其作为第三个参数传递。

DayDart().isBetween('2010-10-19', '2010-10-25', DayUnits.y)

单位不区分大小写,支持复数和缩写形式。

判断是否为 DayDart

这指示变量是否为 DayDart 对象。

DayDart.isDayDart(DayDart()) // true
DayDart.isDayDart(DateTime.now()) // false

也可以使用 is 操作符:

DayDart() is DayDart // true

是否闰年

这表明 Day.js 对象的年份是否为闰年。

DayDart('2000-01-01').isLeapYear() // true

显示 #

格式化

根据传入的令牌字符串获取格式化的日期。

要对字符进行转义,请将它们括在方括号中(例如'MM')。

DayDart().format()

DayDart('2019-01-25').format('dd/MM/yyyy') // '25/01/2019'

所有可用解析标记的列表

标识 描述
d DAY
E ABBR_WEEKDAY
EEEE WEEKDAY
LLL ABBR_STANDALONE_MONTH
LLLL STANDALONE_MONTH
M NUM_MONTH
Md NUM_MONTH_DAY
MEd NUM_MONTH_WEEKDAY_DAY
MMM ABBR_MONTH
MMMd ABBR_MONTH_DAY
MMMEd ABBR_MONTH_WEEKDAY_DAY
MMMM MONTH
MMMMd MONTH_DAY
MMMMEEEEd MONTH_WEEKDAY_DAY
QQQ ABBR_QUARTER
QQQQ QUARTER
y YEAR
yM YEAR_NUM_MONTH
yMd YEAR_NUM_MONTH_DAY
yMEd YEAR_NUM_MONTH_WEEKDAY_DAY
yMMM YEAR_ABBR_MONTH
yMMMd YEAR_ABBR_MONTH_DAY
yMMMEd YEAR_ABBR_MONTH_WEEKDAY_DAY
yMMMM YEAR_MONTH
yMMMMd YEAR_MONTH_DAY
yMMMMEEEEd YEAR_MONTH_WEEKDAY_DAY
yQQQ YEAR_ABBR_QUARTER
yQQQQ YEAR_QUARTER
H HOUR24
Hm HOUR24_MINUTE
Hms HOUR24_MINUTE_SECOND
j HOUR
jm HOUR_MINUTE
jms HOUR_MINUTE_SECOND
m MINUTE
ms MINUTE_SECOND
s SECOND

转 DateTime 对象

要获得从DayDart对象解析的本地日期对象的副本,请使用 DayDart#toDate。

DayDart('2019-01-25').toDate()

转 List

DayDart('2019-01-25').toList() // [ 2019, 0, 25, 0, 0, 0, 0 ]

转 Map

返回具有日期属性的Map

DayDart('2019-01-25').toMap()
/*
{
  years: 2019,
  months: 0,
  date: 25,
  hours: 0,
  minutes: 0,
  seconds: 0,
  milliseconds: 0
}
*/

转 IOS 8601 字符串

格式化为 ISO 8601 字符串。

DayDart('2019-01-25').toISOString() // 2019-01-25T00:00:00.000

转字符串

返回日期的字符串表示形式。

DayDart('2019-01-25').toString() // 2019-01-25 00:00:00.000
2
likes
0
pub points
74%
popularity

Publisher

unverified uploader

具备 Day.js 一样 API 的时间处理库.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter, intl

More

Packages that depend on daydart