ToUniversalTime() is not working in online TryFSharp
- 主要语言
- F#
- 星标
- 25
- 派生
- 14
- PR 合并指标
- 30 天内没有已合并 PR
描述
Not sure whether or not this is a true bug or not, i.e. maybe it's caused by how date and time are dealt with in browsers, but it does lead to differences in how code works in local FSI vs online FSI.
### Example code
```f#
open System
let x = DateTime.Now
let y = x.ToUniversalTime()
x.Equals y |> printfn "%A" // should be false
x = y |> printfn "%A" // should be false
printfn "%A" x // should be X hours before/after UTC
printfn "%A" y // should be UTC
```
### Expected output
If you run this, it should output the following (which is what you'll see when running it locally in FSI, except that in UK the times may actually be equal, anywhere else they should be different):
```text
false
false
2/18/2022 6:37:54 PM
2/18/2022 5:37:54 PM
```
### Actual output on https://try.fsharp.org/
However, it outputs this, note specifically the differences in how the `%A` outputs the time (which may be due to system wide settings on the machine, so not that big a deal), and, most importantly, that `ToUniversalTime()` did **not** change the time to UTC, instead the time variable remained unchanged.
```text
true
true
Fri Feb 18 2022 17:09:41 GMT+0100 (Central European Standard Time)
Fri Feb 18 2022 17:09:41 GMT+0100 (Central European Standard Time)
```
贡献指南
这个仓库没有索引到贡献指南
调研方向
首先在本地 FSI 和 https://try.fsharp.org/ 中分别运行提供的 DateTime 示例,比较 ToUniversalTime()、相等性和格式化输出。跟踪处理 System.DateTime 和浏览器时区的在线执行路径;完成的标准是在线结果按预期区分本地时间和 UTC。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- fsharp
- 领域
- web-dev
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100