THẢO LUẬN

Chỗ này em có cách xử lý đơn giản hơn và cách chốt lại để xử lý vấn đề này nhanh nhất: "Thời gian phải có múi giờ". Vì kiểu dữ liệu DateTime của C# có một trường Kind để xác định múi giờ, có 3 dạng chính là DateTimeKind.Utc, DateTimeKind.Local, DateTimeKind.Unspecified. Nếu thời gian Frontend gửi lên Backend thì mặc định sẽ có múi giờ, trường hợp này đã có múi giờ nên chúng ta có thể không quan tâm. Nếu Backend lấy dữ liệu từ cở sở dữ liệu quan hệ ra (ở đây là MySQL đang không lưu múi giờ), BE sẽ nhận định Kind của DateTime là DateTimeKind.Unspecified, khi đó thời gian của Backend lấy ra sẽ bị mất múi giờ, dẫn đến thông tin về thời gian sẽ bị sai. Cách làm ở đây sẽ là thống nhất múi giờ của Backend khi Insert vào Database và thời gian của Backend khi lấy dữ liệu ra của Database là cùng một múi giờ. Ví dụ trong trường hợp này sử dụng múi giờ Local +0700 làm múi giờ mặc định. Khi đó tất cả thời gian được tạo và được quản lý bên Backend. Khi lấy ra dữ liệu, nếu biết Kind của DateTime, thì mặc định trong ASP .NET 6 trở lên đã có System.Text.Json hỗ trợ xử lý thêm phần múi giờ khi convert sang JSON. Có thể thêm cấu hình sau đây vào System.Text.Json trong ASP .NET Core

public class LocalTimeZoneConverter : JsonConverter<DateTime>
{
    public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
    {
        return DateTime.Parse(reader.GetString() ?? DateTime.Now.ToString());
    }

    public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
    {
        writer.WriteStringValue(DateTime.SpecifyKind(value, DateTimeKind.Local));
    }
}

Hoặc nếu dùng ASP .NET 7 hoặc 8 thì có kiểu dữ liệu mới là DateTimeOffset cũng có thể giải quyết vấn đề này một cách đơn giản.

+1

chào a ạ, e khá kém lập trình và đang tìm hiểu về docker, tuy nhiên thì có quá nhiều ngôn ngữ lập trình và framework. 1 cái app có hàng tá module và pakage, e không biết bắt đầu từ đâu để build, để run...e muốn hỏi a có keyword nào để em có thể bắt đầu tim hiểu cách đóng gói ứng dụng được không,hay cần phải tìm hiểu hết các ngôn ngữ,framework,..ms có thể thành thạo docker?

0
thg 5 17, 2023 9:58 SA

Cảm ơn tác giả, mình cũng mới bắt đầu học CSS được 2 tuần, rất là bổ ích ạ!

+1

Em cũng giống với bác, cũng phải đăng nhập vào để vote bài này 😄

Và em cũng công nhận với bác là nếu không hiểu hoặc không nắm rõ phần deep copy và shallow copy này đúng là chả hiểu lỗi từ đâu ra. Em mới gặp con bug nhỏ xíu về vụ này mà loay hoay hết cả tuần! @@

0
thg 5 17, 2023 7:14 SA

chào bạn, thay vì "import tensorflow as tf" như bình thường thì bạn thay dòng này thành "import tensorflow.compat.v1 as tf tf.disable_v2_behavior()" thử xem nhé, chúc bạn thành công. Nguồn: https://stackoverflow.com/questions/62598537/module-tensorflow-has-no-atributte

0
thg 5 17, 2023 6:38 SA

ơ thằng em nè, lâu quá mới thấy xuất hiện

0

@tuanbaht một comment đầy động lực. mình sẽ cố gắng. cảm ơn bro nhá 🤜🤛

0
thg 5 17, 2023 4:42 SA

🥰

0
thg 5 17, 2023 4:37 SA

2023 còn đúng k nhỉ

0

Việc sử dụng embedding của chatGPT thì embeding rất tốt nhưng sẽ mất phí thông qua call API.

NGoài ra có thể thay thế bởi các LLMs khác như LLama, ... cũng đạt kết quả tốt.

0
thg 5 17, 2023 2:32 SA

@minhhl T k hiểu bạn lấy thông tin |centerOffsetX/oneSetWidth| = 1 ở đâu?

0
thg 5 17, 2023 2:21 SA

Cảm ơn anh, bài viết hay quá ạ

0

hay quá, viết tiếp đi anh

0
Avatar
đã bình luận cho bài viết
thg 5 16, 2023 9:00 SA

@ngockhanhc311 lúc anh viết bài này thì không cần build file ql. Chỉ cần tạo db -> viết file truy vấn .ql -> chạy file là đc. Ko biết giờ có thay đổi gì không. Cũng lâu rồi anh chưa đụng đến

0
thg 5 16, 2023 8:45 SA

tks

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí