@@ -20,7 +20,7 @@ class Topic
2020 public int TypeGuid { get ; set ; }
2121 public TestTypeInfo Type { get ; set ; }
2222 public string Title { get ; set ; }
23- public DateTime CreateTime { get ; set ; }
23+ public DateTime CreateTime { get ; set ; } = DateTime . Now ;
2424 }
2525 [ Table ( Name = "TestTypeInfo333" ) ]
2626 class TestTypeInfo
@@ -30,7 +30,7 @@ class TestTypeInfo
3030 public int ParentId { get ; set ; }
3131 public TestTypeParentInfo Parent { get ; set ; }
3232 public string Name { get ; set ; }
33- public DateTime Time { get ; set ; }
33+ public DateTime Time { get ; set ; } = DateTime . Now ;
3434 }
3535 [ Table ( Name = "TestTypeParentInf1" ) ]
3636 class TestTypeParentInfo
@@ -39,7 +39,53 @@ class TestTypeParentInfo
3939 public string Name { get ; set ; }
4040
4141 public List < TestTypeInfo > Types { get ; set ; }
42- public DateTime Time2 { get ; set ; }
42+ public DateTime Time2 { get ; set ; } = DateTime . Now ;
43+ }
44+
45+ [ Fact ]
46+ public void this_ToString ( )
47+ {
48+ var data = new List < object > ( ) ;
49+ data . Add ( select . Where ( a => a . CreateTime . ToString ( ) . Equals ( DateTime . Now . ToString ( ) ) ) . ToList ( ) ) ;
50+ data . Add ( select . Where ( a => a . Type . Time . AddYears ( 1 ) . ToString ( ) . Equals ( DateTime . Now . ToString ( ) ) ) . ToList ( ) ) ;
51+ data . Add ( select . Where ( a => a . Type . Parent . Time2 . AddYears ( 1 ) . ToString ( ) . Equals ( DateTime . Now . ToString ( ) ) ) . ToList ( ) ) ;
52+ //SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5
53+ //FROM `tb_topic111333` a
54+ //WHERE ((date_format(a.`CreateTime`, '%Y-%m-%d %H:%i:%s.%f') = now()));
55+
56+ //SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a__Type.`Guid` as4, a__Type.`ParentId` as5, a__Type.`Name` as6, a__Type.`Time` as7, a.`Title` as8, a.`CreateTime` as9
57+ //FROM `tb_topic111333` a, `TestTypeInfo333` a__Type
58+ //WHERE ((date_format(date_add(a__Type.`Time`, interval (1) year), '%Y-%m-%d %H:%i:%s.%f') = now()));
59+
60+ //SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a__Type.`Guid` as4, a__Type.`ParentId` as5, a__Type.`Name` as6, a__Type.`Time` as7, a.`Title` as8, a.`CreateTime` as9
61+ //FROM `tb_topic111333` a, `TestTypeInfo333` a__Type, `TestTypeParentInfo23123` a__Type__Parent
62+ //WHERE ((date_format(date_add(a__Type__Parent.`Time2`, interval (1) year), '%Y-%m-%d %H:%i:%s.%f') = now()))
63+
64+ g . dameng . Insert ( new Topic ( ) ) . ExecuteAffrows ( ) ;
65+ var dtn = DateTime . Parse ( "2020-1-1 0:0:0" ) ;
66+ var dts = Enumerable . Range ( 1 , 12 ) . Select ( a => dtn . AddMonths ( a ) )
67+ . Concat ( Enumerable . Range ( 1 , 31 ) . Select ( a => dtn . AddDays ( a ) ) )
68+ . Concat ( Enumerable . Range ( 1 , 24 ) . Select ( a => dtn . AddHours ( a ) ) )
69+ . Concat ( Enumerable . Range ( 1 , 60 ) . Select ( a => dtn . AddMinutes ( a ) ) )
70+ . Concat ( Enumerable . Range ( 1 , 60 ) . Select ( a => dtn . AddSeconds ( a ) ) ) ;
71+ foreach ( var dt in dts )
72+ {
73+ Assert . Equal ( dt . ToString ( "yyyy-MM-dd HH:mm:ss.ffffff" ) , select . First ( a => dt . ToString ( ) ) ) ;
74+ Assert . Equal ( dt . ToString ( "yyyy-MM-dd HH:mm:ss" ) , select . First ( a => dt . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ) ;
75+ Assert . Equal ( dt . ToString ( "yyyy-MM-dd HH:mm" ) , select . First ( a => dt . ToString ( "yyyy-MM-dd HH:mm" ) ) ) ;
76+ Assert . Equal ( dt . ToString ( "yyyy-MM-dd HH" ) , select . First ( a => dt . ToString ( "yyyy-MM-dd HH" ) ) ) ;
77+ Assert . Equal ( dt . ToString ( "yyyy-MM-dd" ) , select . First ( a => dt . ToString ( "yyyy-MM-dd" ) ) ) ;
78+ Assert . Equal ( dt . ToString ( "yyyy-MM" ) , select . First ( a => dt . ToString ( "yyyy-MM" ) ) ) ;
79+ Assert . Equal ( dt . ToString ( "yyyyMMddHHmmss" ) , select . First ( a => dt . ToString ( "yyyyMMddHHmmss" ) ) ) ;
80+ Assert . Equal ( dt . ToString ( "yyyyMMddHHmm" ) , select . First ( a => dt . ToString ( "yyyyMMddHHmm" ) ) ) ;
81+ Assert . Equal ( dt . ToString ( "yyyyMMddHH" ) , select . First ( a => dt . ToString ( "yyyyMMddHH" ) ) ) ;
82+ Assert . Equal ( dt . ToString ( "yyyyMMdd" ) , select . First ( a => dt . ToString ( "yyyyMMdd" ) ) ) ;
83+ Assert . Equal ( dt . ToString ( "yyyyMM" ) , select . First ( a => dt . ToString ( "yyyyMM" ) ) ) ;
84+ Assert . Equal ( dt . ToString ( "yyyy" ) , select . First ( a => dt . ToString ( "yyyy" ) ) ) ;
85+ Assert . Equal ( dt . ToString ( "HH:mm:ss" ) , select . First ( a => dt . ToString ( "HH:mm:ss" ) ) ) ;
86+ Assert . Equal ( dt . ToString ( "yyyy MM dd HH mm ss yy M d H hh h" ) , select . First ( a => dt . ToString ( "yyyy MM dd HH mm ss yy M d H hh h" ) ) ) ;
87+ Assert . Equal ( dt . ToString ( "yyyy MM dd HH mm ss yy M d H hh h m s" ) , select . First ( a => dt . ToString ( "yyyy MM dd HH mm ss yy M d H hh h m s" ) ) ) ;
88+ }
4389 }
4490 [ Fact ]
4591 public void Now ( )
@@ -82,8 +128,8 @@ public void Date()
82128 {
83129 var data = new List < object > ( ) ;
84130 data . Add ( select . Where ( a => a . CreateTime . Date == DateTime . Now . Date ) . ToList ( ) ) ;
85- data . Add ( select . Where ( a => a . Type . Time . Date > DateTime . Now . Date ) . ToList ( ) ) ;
86- data . Add ( select . Where ( a => a . Type . Parent . Time2 . Date > DateTime . Now . Date ) . ToList ( ) ) ;
131+ // data.Add(select.Where(a => a.Type.Time.Date > DateTime.Now.Date).ToList());
132+ // data.Add(select.Where(a => a.Type.Parent.Time2.Date > DateTime.Now.Date).ToList());
87133 //SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5
88134 //FROM `tb_topic111333` a
89135 //WHERE (cast(date_format(a.`CreateTime`, '%Y-%m-%d') as datetime) = cast(date_format(now(), '%Y-%m-%d') as datetime));
@@ -95,9 +141,9 @@ public void Date()
95141 //SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a__Type.`Guid` as4, a__Type.`ParentId` as5, a__Type.`Name` as6, a__Type.`Time` as7, a.`Title` as8, a.`CreateTime` as9
96142 //FROM `tb_topic111333` a, `TestTypeInfo333` a__Type, `TestTypeParentInfo23123` a__Type__Parent
97143 //WHERE (cast(date_format(a__Type__Parent.`Time2`, '%Y-%m-%d') as datetime) > cast(date_format(now(), '%Y-%m-%d') as datetime));
98- data . Add ( select . Where ( a => DateTime . Now . Subtract ( a . CreateTime . Date ) . TotalSeconds > 0 ) . ToList ( ) ) ;
99- data . Add ( select . Where ( a => DateTime . Now . Subtract ( a . Type . Time . Date ) . TotalSeconds > 0 ) . ToList ( ) ) ;
100- data . Add ( select . Where ( a => DateTime . Now . Subtract ( a . Type . Parent . Time2 . Date ) . TotalSeconds > 0 ) . ToList ( ) ) ;
144+ // data.Add(select.Where(a => DateTime.Now.Subtract(a.CreateTime.Date).TotalSeconds > 0).ToList());
145+ // data.Add(select.Where(a => DateTime.Now.Subtract(a.Type.Time.Date).TotalSeconds > 0).ToList());
146+ // data.Add(select.Where(a => DateTime.Now.Subtract(a.Type.Parent.Time2.Date).TotalSeconds > 0).ToList());
101147 //SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5
102148 //FROM `tb_topic111333` a
103149 //WHERE (((timestampdiff(microsecond, cast(date_format(a.`CreateTime`, '%Y-%m-%d') as datetime), now())) / 1000000) > 0);
@@ -494,9 +540,9 @@ public void AddYears()
494540 public void Subtract ( )
495541 {
496542 var data = new List < object > ( ) ;
497- data . Add ( select . Where ( a => a . CreateTime . Subtract ( DateTime . Now ) . TotalSeconds > 0 ) . ToList ( ) ) ;
498- data . Add ( select . Where ( a => a . Type . Time . Subtract ( DateTime . Now ) . TotalSeconds > 0 ) . ToList ( ) ) ;
499- data . Add ( select . Where ( a => a . Type . Parent . Time2 . Subtract ( DateTime . Now ) . TotalSeconds > 0 ) . ToList ( ) ) ;
543+ // data.Add(select.Where(a => a.CreateTime.Subtract(DateTime.Now).TotalSeconds > 0).ToList());
544+ // data.Add(select.Where(a => a.Type.Time.Subtract(DateTime.Now).TotalSeconds > 0).ToList());
545+ // data.Add(select.Where(a => a.Type.Parent.Time2.Subtract(DateTime.Now).TotalSeconds > 0).ToList());
500546 //SELECT a."ID", a."CLICKS", a."TYPEGUID", a."TITLE", a."CREATETIME"
501547 //FROM "TB_TOPIC111333" a
502548 //WHERE ((extract(day from (systimestamp-a."CREATETIME"))*86400+extract(hour from (systimestamp-a."CREATETIME"))*3600+extract(minute from (systimestamp-a."CREATETIME"))*60+extract(second from (systimestamp-a."CREATETIME"))) > 0)
@@ -511,9 +557,9 @@ public void Subtract()
511557 //LEFT JOIN "TESTTYPEINFO333" a__Type ON a__Type."GUID" = a."TYPEGUID"
512558 //LEFT JOIN "TESTTYPEPARENTINF1" a__Type__Parent ON a__Type__Parent."ID" = a__Type."PARENTID"
513559 //WHERE ((extract(day from (systimestamp-a__Type__Parent."TIME2"))*86400+extract(hour from (systimestamp-a__Type__Parent."TIME2"))*3600+extract(minute from (systimestamp-a__Type__Parent."TIME2"))*60+extract(second from (systimestamp-a__Type__Parent."TIME2"))) > 0)
514- data . Add ( select . Where ( a => a . CreateTime . Subtract ( TimeSpan . FromDays ( 1 ) ) > a . CreateTime ) . ToList ( ) ) ;
515- data . Add ( select . Where ( a => a . Type . Time . Subtract ( TimeSpan . FromDays ( 1 ) ) > a . CreateTime ) . ToList ( ) ) ;
516- data . Add ( select . Where ( a => a . Type . Parent . Time2 . Subtract ( TimeSpan . FromDays ( 1 ) ) > a . CreateTime ) . ToList ( ) ) ;
560+ // data.Add(select.Where(a => a.CreateTime.Subtract(TimeSpan.FromDays(1)) > a.CreateTime).ToList());
561+ // data.Add(select.Where(a => a.Type.Time.Subtract(TimeSpan.FromDays(1)) > a.CreateTime).ToList());
562+ // data.Add(select.Where(a => a.Type.Parent.Time2.Subtract(TimeSpan.FromDays(1)) > a.CreateTime).ToList());
517563 //SELECT a."ID", a."CLICKS", a."TYPEGUID", a."TITLE", a."CREATETIME"
518564 //FROM "TB_TOPIC111333" a
519565 //WHERE ((a."CREATETIME"-numtodsinterval((1)*86400,'second')) > a."CREATETIME")
@@ -533,9 +579,9 @@ public void Subtract()
533579 public void Á ½¸öÈÕÆÚÏà¼õ_Ч¹ûͬSubtract( )
534580 {
535581 var data = new List < object > ( ) ;
536- data . Add ( select . Where ( a => ( a . CreateTime - DateTime . Now ) . TotalSeconds > 0 ) . ToList ( ) ) ;
537- data . Add ( select . Where ( a => ( a . Type . Time - DateTime . Now ) . TotalSeconds > 0 ) . ToList ( ) ) ;
538- data . Add ( select . Where ( a => ( a . Type . Parent . Time2 - DateTime . Now ) . TotalSeconds > 0 ) . ToList ( ) ) ;
582+ // data.Add(select.Where(a => (a.CreateTime - DateTime.Now).TotalSeconds > 0).ToList());
583+ // data.Add(select.Where(a => (a.Type.Time - DateTime.Now).TotalSeconds > 0).ToList());
584+ // data.Add(select.Where(a => (a.Type.Parent.Time2 - DateTime.Now).TotalSeconds > 0).ToList());
539585 //SELECT a."ID", a."CLICKS", a."TYPEGUID", a."TITLE", a."CREATETIME"
540586 //FROM "TB_TOPIC111333" a
541587 //WHERE ((extract(day from (systimestamp-a."CREATETIME"))*86400+extract(hour from (systimestamp-a."CREATETIME"))*3600+extract(minute from (systimestamp-a."CREATETIME"))*60+extract(second from (systimestamp-a."CREATETIME"))) > 0)
@@ -550,9 +596,9 @@ public void Subtract()
550596 //LEFT JOIN "TESTTYPEINFO333" a__Type ON a__Type."GUID" = a."TYPEGUID"
551597 //LEFT JOIN "TESTTYPEPARENTINF1" a__Type__Parent ON a__Type__Parent."ID" = a__Type."PARENTID"
552598 //WHERE ((extract(day from (systimestamp-a__Type__Parent."TIME2"))*86400+extract(hour from (systimestamp-a__Type__Parent."TIME2"))*3600+extract(minute from (systimestamp-a__Type__Parent."TIME2"))*60+extract(second from (systimestamp-a__Type__Parent."TIME2"))) > 0)
553- data . Add ( select . Where ( a => ( a . CreateTime - TimeSpan . FromDays ( 1 ) ) > a . CreateTime ) . ToList ( ) ) ;
554- data . Add ( select . Where ( a => ( a . Type . Time - TimeSpan . FromDays ( 1 ) ) > a . CreateTime ) . ToList ( ) ) ;
555- data . Add ( select . Where ( a => ( a . Type . Parent . Time2 - TimeSpan . FromDays ( 1 ) ) > a . CreateTime ) . ToList ( ) ) ;
599+ // data.Add(select.Where(a => (a.CreateTime - TimeSpan.FromDays(1)) > a.CreateTime).ToList());
600+ // data.Add(select.Where(a => (a.Type.Time - TimeSpan.FromDays(1)) > a.CreateTime).ToList());
601+ // data.Add(select.Where(a => (a.Type.Parent.Time2 - TimeSpan.FromDays(1)) > a.CreateTime).ToList());
556602 //SELECT a."ID", a."CLICKS", a."TYPEGUID", a."TITLE", a."CREATETIME"
557603 //FROM "TB_TOPIC111333" a
558604 //WHERE ((a."CREATETIME"-numtodsinterval((1)*86400,'second')) > a."CREATETIME")
@@ -587,26 +633,6 @@ public void this_Equals()
587633 //FROM `tb_topic111333` a, `TestTypeInfo333` a__Type, `TestTypeParentInfo23123` a__Type__Parent
588634 //WHERE ((date_add(a__Type__Parent.`Time2`, interval (1) year) = now()))
589635 }
590- [ Fact ]
591- public void this_ToString ( )
592- {
593- var data = new List < object > ( ) ;
594- data . Add ( select . Where ( a => a . CreateTime . ToString ( ) . Equals ( DateTime . Now ) ) . ToList ( ) ) ;
595- data . Add ( select . Where ( a => a . Type . Time . AddYears ( 1 ) . ToString ( ) . Equals ( DateTime . Now ) ) . ToList ( ) ) ;
596- data . Add ( select . Where ( a => a . Type . Parent . Time2 . AddYears ( 1 ) . ToString ( ) . Equals ( DateTime . Now ) ) . ToList ( ) ) ;
597- //SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5
598- //FROM `tb_topic111333` a
599- //WHERE ((date_format(a.`CreateTime`, '%Y-%m-%d %H:%i:%s.%f') = now()));
600-
601- //SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a__Type.`Guid` as4, a__Type.`ParentId` as5, a__Type.`Name` as6, a__Type.`Time` as7, a.`Title` as8, a.`CreateTime` as9
602- //FROM `tb_topic111333` a, `TestTypeInfo333` a__Type
603- //WHERE ((date_format(date_add(a__Type.`Time`, interval (1) year), '%Y-%m-%d %H:%i:%s.%f') = now()));
604-
605- //SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a__Type.`Guid` as4, a__Type.`ParentId` as5, a__Type.`Name` as6, a__Type.`Time` as7, a.`Title` as8, a.`CreateTime` as9
606- //FROM `tb_topic111333` a, `TestTypeInfo333` a__Type, `TestTypeParentInfo23123` a__Type__Parent
607- //WHERE ((date_format(date_add(a__Type__Parent.`Time2`, interval (1) year), '%Y-%m-%d %H:%i:%s.%f') = now()))
608- }
609-
610636 [ Fact ]
611637 public void DateTime_Compare ( )
612638 {
@@ -631,8 +657,8 @@ public void DateTime_DaysInMonth()
631657 {
632658 var data = new List < object > ( ) ;
633659 data . Add ( select . Where ( a => DateTime . DaysInMonth ( a . CreateTime . Year , a . CreateTime . Month ) > 30 ) . ToList ( ) ) ;
634- data . Add ( select . Where ( a => DateTime . DaysInMonth ( a . Type . Time . Year , a . Type . Time . Month ) > 30 ) . ToList ( ) ) ;
635- data . Add ( select . Where ( a => DateTime . DaysInMonth ( a . Type . Parent . Time2 . Year , a . Type . Parent . Time2 . Month ) > 30 ) . ToList ( ) ) ;
660+ // data.Add(select.Where(a => DateTime.DaysInMonth(a.Type.Time.Year, a.Type.Time.Month) > 30).ToList());
661+ // data.Add(select.Where(a => DateTime.DaysInMonth(a.Type.Parent.Time2.Year, a.Type.Parent.Time2.Month) > 30).ToList());
636662 //SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5
637663 //FROM `tb_topic111333` a
638664 //WHERE (dayofmonth(last_day(concat(year(a.`CreateTime`), month(a.`CreateTime`), '-01'))) > 30);
0 commit comments