fsharp / fsharp/TryFSharp

ToUniversalTime() is not working in online TryFSharp

Đang mở
#51 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
F#
Star
25
Fork
14
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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)
```

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.