File tree Expand file tree Collapse file tree 2 files changed +26
-1
lines changed
Expand file tree Collapse file tree 2 files changed +26
-1
lines changed Original file line number Diff line number Diff line change @@ -149,6 +149,20 @@ describe("humanizeTime", () => {
149149 expect ( humanizeTime ( m ) ) . toBe ( m . format ( "LL ah:mm" ) ) ;
150150 } ) ;
151151
152+ it ( "show relative past time" , function ( ) {
153+ const pastMoment = moment ( ) . add ( - 5 , "days" ) ;
154+ expect ( humanizeTime ( pastMoment , HumanizeTimeFormat . relative ) ) . toBe (
155+ "5 天前"
156+ ) ;
157+ } ) ;
158+
159+ it ( "show relative future time" , function ( ) {
160+ const futureMoment = moment ( ) . add ( 5 , "days" ) ;
161+ expect ( humanizeTime ( futureMoment , HumanizeTimeFormat . relative ) ) . toBe (
162+ "5 天后"
163+ ) ;
164+ } ) ;
165+
152166 it ( "return null when given a nil" , function ( ) {
153167 expect ( humanizeTime ( undefined ) ) . toBe ( null ) ;
154168 expect ( humanizeTime ( null ) ) . toBe ( null ) ;
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ export enum HumanizeTimeFormat {
1111 full = "full" ,
1212 default = "default" ,
1313 relative = "relative" ,
14+ past = "past" ,
1415 future = "future" ,
1516 accurate = "accurate" ,
1617 auto = "auto" ,
@@ -95,7 +96,17 @@ export const humanizeTime = (
9596 case HumanizeTimeFormat . default :
9697 text = m . format ( fDefault ) ;
9798 break ;
98- case HumanizeTimeFormat . relative :
99+ case HumanizeTimeFormat . relative : {
100+ const diff = + m - + now ;
101+ text =
102+ diff <= 0
103+ ? moment . duration ( diff ) . humanize ( true )
104+ : i18n . t ( `${ NS_LIBS_DATETIME } :${ K . FUTURE_AFTER } ` , {
105+ time : moment . duration ( diff ) . humanize ( ) ,
106+ } ) ;
107+ break ;
108+ }
109+ case HumanizeTimeFormat . past :
99110 text = moment . duration ( Math . min ( + m - + now , 0 ) ) . humanize ( true ) ;
100111 break ;
101112 case HumanizeTimeFormat . future :
You can’t perform that action at this time.
0 commit comments