kozalo / russian-datetime
如果需要用俄语打印类似“12分钟前”的内容,请使用此类。
This package is auto-updated.
Last update: 2024-09-14 18:20:18 UTC
README
俄语用户
这个类是做什么的?为什么它是俄语的?嗯,可能是因为它的主要目的是输出类似“不到一分钟前”,“12分钟前”或“3周前”的文本。你经常遇到这样的情况吗?
你只需给它一个时间,它就会根据与当前时间的比较输出所需的字符串!这不是很棒吗?!
除此之外,它本质上只是标准DateTime类型的一个小型扩展。至少目前是这样的。
它还有一个方法可以输出可以直接用于MySQL的日期格式。
因此,你可以用四种方法创建它
- 使用构造函数,它接受TIMESTAMP,或者创建一个带有当前时间的对象。
- 静态方法
Now()
。 - 静态方法
CreateFromTimestamp([timestamp])
完全等同于构造函数。 - 静态方法
CreateFromString(<字符串>)
使用strtotime()
函数,并将得到的 TIMESTAMP 传递给构造函数。所以请参考该函数的文档或测试示例。
那么接下来呢?有三个方法
GetTimestamp()
只返回 TIMESTAMP。GetDateForMysql()
返回的日期格式为:Y-m-j H:i:s
。GetDiffInRussian()
是主要方法,也是我们之所以创建这个类的原因。它以可读格式返回时间差(与当前时间相比)。
还有一个静态方法 GetCorrectDeclension(<数字>, <工作模式>)
。它主要用于内部需求,但也许会用到。
它获取一个数字,并为其屈折词。工作模式可以是以下之一:"minutes"
、"hours"
、"days"
、"weeks"
、"months"
、"years"
。对于所有其他情况将返回 false。最终结果是一个类似于 5 hours
的字符串。
这个类就这么多功能 ¯(ツ)¯
作者:Leonid Kozarin (kozalo@yandex.ru)
© Kozalo.Ru, 2017
英文
如果你需要打印类似“12分钟前”的内容,则需要此类。
那么,你应该如何操作才能得到“12分钟前”这样的字符串?
- 创建一个实例。你可以使用接受时间戳的构造函数(如果你想获取当前时间戳,则可以省略参数)。另一种获取实例的方法是使用静态方法:
Now()
、CreateFromTimestamp([timestamp])
和CreateFromString(<字符串>)
。第二种方法与构造函数完全相同。最后一种使用strtotime()
函数,并将结果传递给构造函数。请参阅测试示例。 - 只需调用
GetDiffInRussian()
方法即可获取字符串!这很简单,不是吗?
此外,你可能对 GetDateForMysql()
方法感兴趣。它返回的日期和时间格式为:Y-m-j H:i:s
。
还有一个方法,但我怀疑你永远不会用到它。主要用途是内部,它只是返回正确的屈折词。
作者:Leonid Kozarin (kozalo@yandex.ru)
© Kozalo.Ru, 2017