Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lindexi_gd
Uno
提交
014673d1
U
Uno
项目概览
lindexi_gd
/
Uno
11 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
Uno
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
014673d1
编写于
5月 01, 2023
作者:
Y
Youssef Victor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: Fix CalendarView selecting next day due to not respecting current time zone
上级
64fb74e4
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
26 addition
and
13 deletion
+26
-13
src/Uno.UI.Tests/Windows_Globalization/When_Calendar.cs
src/Uno.UI.Tests/Windows_Globalization/When_Calendar.cs
+16
-0
src/Uno.UI/DirectUI/DateComparer.cs
src/Uno.UI/DirectUI/DateComparer.cs
+1
-4
src/Uno.UWP/Globalization/Calendar.cs
src/Uno.UWP/Globalization/Calendar.cs
+9
-9
未找到文件。
src/Uno.UI.Tests/Windows_Globalization/When_Calendar.cs
浏览文件 @
014673d1
...
...
@@ -13,6 +13,22 @@ namespace Uno.UI.Tests.Windows_Globalization
[
TestClass
]
public
class
When_Calendar
{
[
TestMethod
]
public
void
When_DateTimeOffset_Is_Next_Day_If_Converted_To_Utc
()
{
var
calendar
=
new
WG
.
Calendar
();
var
offset
=
new
DateTimeOffset
(
year
:
2023
,
month
:
5
,
day
:
1
,
hour
:
21
,
minute
:
0
,
second
:
0
,
TimeSpan
.
FromHours
(-
5
));
calendar
.
SetDateTime
(
offset
);
// calendar.Day must be 1 here to match WinUI, **and also** not break CalendarView selection of "Today"
Assert
.
AreEqual
(
1
,
calendar
.
Day
);
Assert
.
AreEqual
(
2
,
offset
.
UtcDateTime
.
Day
);
var
comparer
=
new
DirectUI
.
DateComparer
();
comparer
.
SetCalendarForComparison
(
calendar
);
var
result
=
comparer
.
CompareDay
(
offset
,
new
DateTimeOffset
(
year
:
2023
,
month
:
5
,
day
:
1
,
hour
:
4
,
minute
:
0
,
second
:
0
,
TimeSpan
.
FromHours
(
0
)));
Assert
.
AreEqual
(
0
,
result
);
}
[
TestMethod
]
public
void
When_Gregorian_FixedDate
()
{
...
...
src/Uno.UI/DirectUI/DateComparer.cs
浏览文件 @
014673d1
...
...
@@ -103,10 +103,7 @@ namespace DirectUI
global
::
System
.
Diagnostics
.
Debug
.
Assert
(
m_spCalendar
is
{
});
lhs
=
lhs
.
ToUniversalTime
();
// UNO
rhs
=
rhs
.
ToUniversalTime
();
// UNO
long
delta
=
lhs
.
Ticks
-
rhs
.
Ticks
;
long
delta
=
lhs
.
ToUniversalTime
().
Ticks
-
rhs
.
ToUniversalTime
().
Ticks
;
if
(
delta
<
0
)
{
delta
=
-
delta
;
...
...
src/Uno.UWP/Globalization/Calendar.cs
浏览文件 @
014673d1
...
...
@@ -190,28 +190,28 @@ namespace Windows.Globalization
#
region
Read
/
Write
_time
public
int
Era
{
get
=>
_calendar
.
GetEra
(
_time
.
Utc
DateTime
);
get
=>
_calendar
.
GetEra
(
_time
.
DateTime
);
[
NotImplemented
]
set
=>
global
::
Windows
.
Foundation
.
Metadata
.
ApiInformation
.
TryRaiseNotImplemented
(
"Windows.Globalization.Calendar"
,
"int Calendar.Era"
);
}
public
int
Year
{
get
=>
_calendar
.
GetYear
(
_time
.
Utc
DateTime
);
get
=>
_calendar
.
GetYear
(
_time
.
DateTime
);
set
=>
AddYears
(
value
-
Year
);
}
public
int
Month
{
get
=>
_calendar
.
GetMonth
(
_time
.
Utc
DateTime
);
get
=>
_calendar
.
GetMonth
(
_time
.
DateTime
);
set
=>
AddMonths
(
value
-
Month
);
}
public
global
::
Windows
.
Globalization
.
DayOfWeek
DayOfWeek
=>
(
global
::
Windows
.
Globalization
.
DayOfWeek
)
_calendar
.
GetDayOfWeek
(
_time
.
Utc
DateTime
);
public
global
::
Windows
.
Globalization
.
DayOfWeek
DayOfWeek
=>
(
global
::
Windows
.
Globalization
.
DayOfWeek
)
_calendar
.
GetDayOfWeek
(
_time
.
DateTime
);
public
int
Day
{
get
=>
_calendar
.
GetDayOfMonth
(
_time
.
Utc
DateTime
);
get
=>
_calendar
.
GetDayOfMonth
(
_time
.
DateTime
);
set
=>
AddDays
(
value
-
Day
);
}
...
...
@@ -219,7 +219,7 @@ namespace Windows.Globalization
{
get
{
var
hour
=
_calendar
.
GetHour
(
_time
.
Utc
DateTime
);
var
hour
=
_calendar
.
GetHour
(
_time
.
DateTime
);
if
(
hour
<
12
||
_clock
==
ClockIdentifiers
.
TwentyFourHour
)
{
...
...
@@ -236,13 +236,13 @@ namespace Windows.Globalization
public
int
Minute
{
get
=>
_calendar
.
GetMinute
(
_time
.
Utc
DateTime
);
get
=>
_calendar
.
GetMinute
(
_time
.
DateTime
);
set
=>
AddMinutes
(
value
-
Minute
);
}
public
int
Second
{
get
=>
_calendar
.
GetSecond
(
_time
.
Utc
DateTime
);
get
=>
_calendar
.
GetSecond
(
_time
.
DateTime
);
set
=>
AddSeconds
(
value
-
Second
);
}
...
...
@@ -281,7 +281,7 @@ namespace Windows.Globalization
public
int
Nanosecond
{
get
=>
(
int
)(
_calendar
.
GetMilliseconds
(
_time
.
Utc
DateTime
)
*
1000
);
get
=>
(
int
)(
_calendar
.
GetMilliseconds
(
_time
.
DateTime
)
*
1000
);
set
=>
AddNanoseconds
(
value
-
Nanosecond
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录