Skip to content

Commit 3a8a4fb

Browse files
committed
修改 时间转化
1 parent 29e0c52 commit 3a8a4fb

File tree

5 files changed

+39
-14
lines changed

5 files changed

+39
-14
lines changed

csharp/ToolGood.Algorithm2.Test/AlgorithmEngine/AlgorithmEngineTest_dateTime.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,31 @@ public void Add_test()
267267
dt = engine.TryEvaluate("'2000-02-01 12:05:06'.AddSeconds(1).Second()", 0);
268268
Assert.AreEqual(dt, 7);
269269

270+
dt = engine.TryEvaluate("'2000-02-01 10:05:06'.AddSeconds(1).Second()", 0);
271+
Assert.AreEqual(dt, 7);
272+
273+
dt = engine.TryEvaluate("'2000-02-01 20:05:06'.AddSeconds(1).Second()", 0);
274+
Assert.AreEqual(dt, 7);
275+
276+
dt = engine.TryEvaluate("'2000-02-01 9:05:06'.AddSeconds(1).Second()", 0);
277+
Assert.AreEqual(dt, 7);
278+
279+
dt = engine.TryEvaluate("'7:05:06'.AddSeconds(1).Second()", 0);
280+
Assert.AreEqual(dt, 7);
281+
282+
dt = engine.TryEvaluate("'10:05:06'.AddSeconds(1).Second()", 0);
283+
Assert.AreEqual(dt, 7);
284+
285+
dt = engine.TryEvaluate("'20:05:06'.AddSeconds(1).Second()", 0);
286+
Assert.AreEqual(dt, 7);
287+
288+
// 错误
289+
dt = engine.TryEvaluate("'2000-02-01 24:05:06'.AddSeconds(1).Second()", 0);
290+
Assert.AreEqual(dt, 0);
291+
292+
//
293+
//dt = engine.TryEvaluate("'24:05:06'.AddSeconds(1).Second()", 0);
294+
//Assert.AreEqual(dt, 0);
270295
}
271296

272297
}

csharp/ToolGood.Algorithm2/MyDate.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ public static MyDate Parse(String txt)
119119
{
120120
CultureInfo cultureInfo = CultureInfo.GetCultureInfo("en-US");
121121
String t = txt.Trim();
122-
var m = Regex.Match(t, "^(\\d{4})-(10|11|12|0?\\d)-(30|31|[012]?\\d) ([01]\\d?|2[1234]):([012345]?\\d):([012345]?\\d)$", RegexOptions.Compiled);
122+
var m = Regex.Match(t, "^(\\d{4})-(1[012]|0?\\d)-(30|31|[012]?\\d) ([01]?\\d|2[0123]):([012345]?\\d):([012345]?\\d)$", RegexOptions.Compiled);
123123
if (m.Success) {
124124
MyDate date = new MyDate();
125125
date.Year = int.Parse(m.Groups[(1)].Value, cultureInfo);
@@ -130,7 +130,7 @@ public static MyDate Parse(String txt)
130130
date.Second = int.Parse(m.Groups[(6)].Value, cultureInfo);
131131
return date;
132132
}
133-
m = Regex.Match(t, "^(\\d{4})-(10|11|12|0?\\d)-(30|31|[012]?\\d) ([01]\\d?|2[1234]):([012345]?\\d)$", RegexOptions.Compiled);
133+
m = Regex.Match(t, "^(\\d{4})-(1[012]|0?\\d)-(30|31|[012]?\\d) ([01]?\\d|2[0123]):([012345]?\\d)$", RegexOptions.Compiled);
134134
if (m.Success) {
135135
MyDate date = new MyDate();
136136
date.Year = int.Parse(m.Groups[(1)].Value, cultureInfo);
@@ -140,15 +140,15 @@ public static MyDate Parse(String txt)
140140
date.Minute = int.Parse(m.Groups[(5)].Value, cultureInfo);
141141
return date;
142142
}
143-
m = Regex.Match(t, "^(\\d{4})-(10|11|12|0?\\d)-(30|31|[012]?\\d)$");
143+
m = Regex.Match(t, "^(\\d{4})-(1[012]|0?\\d)-(30|31|[012]?\\d)$");
144144
if (m.Success) {
145145
MyDate date = new MyDate();
146146
date.Year = int.Parse(m.Groups[(1)].Value, cultureInfo);
147147
date.Month = int.Parse(m.Groups[(2)].Value, cultureInfo);
148148
date.Day = int.Parse(m.Groups[(3)].Value, cultureInfo);
149149
return date;
150150
}
151-
m = Regex.Match(t, "^(\\d+) (2[1234]|[01]?\\d):([012345]?\\d):([012345]?\\d)$", RegexOptions.Compiled);
151+
m = Regex.Match(t, "^(\\d+) (2[0123]|[01]?\\d):([012345]?\\d):([012345]?\\d)$", RegexOptions.Compiled);
152152
if (m.Success) {
153153
MyDate date = new MyDate();
154154
date.Day = int.Parse(m.Groups[(1)].Value, cultureInfo);
@@ -157,15 +157,15 @@ public static MyDate Parse(String txt)
157157
date.Second = int.Parse(m.Groups[(4)].Value, cultureInfo);
158158
return date;
159159
}
160-
m = Regex.Match(t, "^(2[1234]|[01]?\\d):([012345]?\\d):([012345]?\\d)$", RegexOptions.Compiled);
160+
m = Regex.Match(t, "^(2[0123]|[01]?\\d):([012345]?\\d):([012345]?\\d)$", RegexOptions.Compiled);
161161
if (m.Success) {
162162
MyDate date = new MyDate();
163163
date.Hour = int.Parse(m.Groups[(1)].Value, cultureInfo);
164164
date.Minute = int.Parse(m.Groups[(2)].Value, cultureInfo);
165165
date.Second = int.Parse(m.Groups[(3)].Value, cultureInfo);
166166
return date;
167167
}
168-
m = Regex.Match(t, "^(2[1234]|[01]?\\d):([012345]?\\d)$", RegexOptions.Compiled);
168+
m = Regex.Match(t, "^(2[0123]|[01]?\\d):([012345]?\\d)$", RegexOptions.Compiled);
169169
if (m.Success) {
170170
MyDate date = new MyDate();
171171
date.Hour = int.Parse(m.Groups[(1)].Value, cultureInfo);

csharp/ToolGood.Algorithm2/ToolGood.Algorithm2.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<Product>ToolGood.Algorithm</Product>
2121
<PackageLicenseFile>LICENSE</PackageLicenseFile>
2222
<SignAssembly>true</SignAssembly>
23-
<Version>3.4.1.2</Version>
23+
<Version>3.4.1.3</Version>
2424
<AssemblyOriginatorKeyFile>ToolGood.Algorithm.snk</AssemblyOriginatorKeyFile>
2525
<DelaySign>false</DelaySign>
2626
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\ToolGood.Algorithm.xml</DocumentationFile>

java/toolgood.algorithm/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>io.github.toolgood</groupId>
88
<artifactId>toolgood-algorithm</artifactId>
9-
<version>3.4.1.2</version>
9+
<version>3.4.1.3</version>
1010
<packaging>jar</packaging>
1111

1212
<name>toolgood.algorithm</name>

java/toolgood.algorithm/src/main/java/toolgood/algorithm/MyDate.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ public MyDate(double num) {
113113
public static MyDate parse(String txt) {
114114
String t = txt.trim();
115115
Matcher m = Pattern
116-
.compile("^(\\d{4})-(10|11|12|0?\\d)-(30|31|[012]?\\d) ([01]\\d?|2[1234]):([012345]?\\d):([012345]?\\d)$")
116+
.compile("^(\\d{4})-(1[012]|0?\\d)-(30|31|[012]?\\d) ([01]?\\d|2[0123]):([012345]?\\d):([012345]?\\d)$")
117117
.matcher(t);
118118
if (m.find()) {
119119
MyDate date = new MyDate();
@@ -125,7 +125,7 @@ public static MyDate parse(String txt) {
125125
date.Second = Integer.parseInt(m.group(6));
126126
return date;
127127
}
128-
m = Pattern.compile("(\\d{4})-(10|11|12|0?\\d)-(30|31|[012]?\\d) ([01]\\d?|2[1234]):([012345]?\\d)").matcher(t);
128+
m = Pattern.compile("(\\d{4})-(1[012]|0?\\d)-(30|31|[012]?\\d) ([01]?\\d|2[0123]):([012345]?\\d)").matcher(t);
129129
if (m.find()) {
130130
MyDate date = new MyDate();
131131
date.Year = Integer.parseInt(m.group(1));
@@ -135,15 +135,15 @@ public static MyDate parse(String txt) {
135135
date.Minute = Integer.parseInt(m.group(5));
136136
return date;
137137
}
138-
m = Pattern.compile("(\\d{4})-(10|11|12|0?\\d)-(30|31|[012]?\\d)").matcher(t);
138+
m = Pattern.compile("(\\d{4})-(1[012]|0?\\d)-(30|31|[012]?\\d)").matcher(t);
139139
if (m.find()) {
140140
MyDate date = new MyDate();
141141
date.Year = Integer.parseInt(m.group(1));
142142
date.Month = Integer.parseInt(m.group(2));
143143
date.Day = Integer.parseInt(m.group(3));
144144
return date;
145145
}
146-
m = Pattern.compile("^(\\d+) (2[1234]|[01]?\\d):([012345]?\\d):([012345]?\\d)$").matcher(t);
146+
m = Pattern.compile("^(\\d+) (2[0123]|[01]?\\d):([012345]?\\d):([012345]?\\d)$").matcher(t);
147147
if (m.find()) {
148148
MyDate date = new MyDate();
149149
date.Day = Integer.parseInt(m.group(1));
@@ -152,15 +152,15 @@ public static MyDate parse(String txt) {
152152
date.Second = Integer.parseInt(m.group(4));
153153
return date;
154154
}
155-
m = Pattern.compile("^(2[1234]|[01]?\\d):([012345]?\\d):([012345]?\\d)$").matcher(t);
155+
m = Pattern.compile("^(2[0123]|[01]?\\d):([012345]?\\d):([012345]?\\d)$").matcher(t);
156156
if (m.find()) {
157157
MyDate date = new MyDate();
158158
date.Hour = Integer.parseInt(m.group(1));
159159
date.Minute = Integer.parseInt(m.group(2));
160160
date.Second = Integer.parseInt(m.group(3));
161161
return date;
162162
}
163-
m = Pattern.compile("^(2[1234]|[01]?\\d):([012345]?\\d)$").matcher(t);
163+
m = Pattern.compile("^(2[0123]|[01]?\\d):([012345]?\\d)$").matcher(t);
164164
if (m.find()) {
165165
MyDate date = new MyDate();
166166
date.Hour = Integer.parseInt(m.group(1));

0 commit comments

Comments
 (0)