pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

SQLite.Net-PCL 如何處理 UTC 時(shí)間

How SQLite.Net-PCL handle UTC time(SQLite.Net-PCL 如何處理 UTC 時(shí)間)
本文介紹了SQLite.Net-PCL 如何處理 UTC 時(shí)間的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

限時(shí)送ChatGPT賬號(hào)..

我正在使用以下代碼:

使用 new SQLite.Net.SQLiteConnection(new SQLitePlatformWinRT(), DBPath) 獲取 SQLiteConnection并創(chuàng)建表.

類包含日期時(shí)間數(shù)據(jù)類型

class 交易{[SQLite.Net.Attributes.PrimaryKey, SQLite.Net.Attributes.AutoIncrement]公共 int QId { 獲取;放;}公共日期時(shí)間購(gòu)買日期{獲取;放;}公共整數(shù)金額{get;set;}公共字符串 ItemCode {get;set;}}

插入數(shù)據(jù)如下:

var db = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), DBPath);var newItem = new Transaction(){購(gòu)買日期 = 日期時(shí)間.現(xiàn)在,金額 = 100,項(xiàng)目代碼 = "ABC-C10"};db.Insert(newItem);

日期將存儲(chǔ)為 Ticks(例如 636071680313888433),這是 UTC 時(shí)間.

1) 使用上面的 DateTime.Now,如果我的電腦時(shí)間設(shè)置是

1a) 英國(guó)時(shí)間,

上面的代碼:purchase = DateTime.Now 能正確轉(zhuǎn)換嗎?

1b) 在美國(guó)時(shí)間,

上面的代碼:purchase = DateTime.Now 能正確轉(zhuǎn)換嗎?

如何在 SQL 語(yǔ)句中處理這個(gè)勾號(hào)?

如何從某個(gè)日期范圍內(nèi)選擇所有交易?比如說,2016 年 7 月 10 日到 2016 年 7 月 20 日?

謝謝

解決方案

處理日期最安全的方法是使用 DateTimeOffset 類型而不是 DateTime.

DateTime 不包含創(chuàng)建時(shí)區(qū)的信息,它只知道它是 UTC 時(shí)間還是本地時(shí)間,如果數(shù)據(jù)要在不同的地方使用.

DateTimeOffset 不僅包含時(shí)間和日期信息,還包含時(shí)區(qū),這意味著結(jié)果將始終如您所愿.

使用方式?jīng)]有區(qū)別,只是改變了類型:

class 交易{[SQLite.Net.Attributes.PrimaryKey, SQLite.Net.Attributes.AutoIncrement]公共 int QId { 獲取;放;}公共日期時(shí)間偏移購(gòu)買日期{獲取;放;}公共整數(shù)金額{get;set;}公共字符串 ItemCode {get;set;}}

對(duì)于數(shù)據(jù)庫(kù)訪問:

var db = new SQLite.Net.SQLiteConnection(新 SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), DBPath);var newItem = new Transaction(){PurchaseDate = DateTimeOffset.Now,//或使用DateTimeOffset.UtcNow作為UTC日期時(shí)間金額 = 100,項(xiàng)目代碼 = "ABC-C10"};db.Insert(newItem);

I am using below code:

using new SQLite.Net.SQLiteConnection(new SQLitePlatformWinRT(), DBPath) to get SQLiteConnection and create table.

Class contain DateTime DataType

class Transaction 
    {
        [SQLite.Net.Attributes.PrimaryKey, SQLite.Net.Attributes.AutoIncrement]
        public int QId { get; set; }
        public DateTime PurchaseDate { get; set; }  
        public int Amount {get;set;}
        Public string ItemCode {get;set;}      
    }

Insert Data As follows:

var db = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), DBPath);

 var newItem = new Transaction()
  {  
     PurchaseDate = DateTime.Now,            
     Amount = 100,
     ItemCode = "Abc-C10"               
  };

 db.Insert(newItem);

The date will be stored as Ticks(e.g. 636071680313888433) and this is UTC time.

1) using above DateTime.Now, If my Computer time setting is

1a) in British Time,

will the above code : purchase = DateTime.Now be converted correctly?

1b) in Usa Time,

will the above code : purchase = DateTime.Now be converted correctly?

How to handle this tick in SQL-statement?

How to select all transaction from ,say, a date range ? say , 2016-07-10 to 2016-07-20 ?

Thanks

解決方案

The safest way to work with dates is to use the DateTimeOffset type instead of DateTime.

DateTime does not contain the information about the time zone in which it was created, all it knows is whether it is in UTC or local time, which is not enough if the data is going to be used in different locations.

DateTimeOffset contains not only the time and date information, but also the time zone, which means the result will always be what you expect.

There are no differences in the way it is used, just change the type:

class Transaction 
{
    [SQLite.Net.Attributes.PrimaryKey, SQLite.Net.Attributes.AutoIncrement]
    public int QId { get; set; }
    public DateTimeOffset PurchaseDate { get; set; }  
    public int Amount {get;set;}
    Public string ItemCode {get;set;}      
}

For database access:

var db = new SQLite.Net.SQLiteConnection(
   new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), DBPath);

var newItem = new Transaction()
  {  
     PurchaseDate = DateTimeOffset.Now, //or use DateTimeOffset.UtcNow for UTC datetime           
     Amount = 100,
     ItemCode = "Abc-C10"               
  };

 db.Insert(newItem);

這篇關(guān)于SQLite.Net-PCL 如何處理 UTC 時(shí)間的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Dynamically creating a placeholder to insert many column values for a row in SQLite table(動(dòng)態(tài)創(chuàng)建占位符以在 SQLite 表中為一行插入多個(gè)列值)
How to make SQLite SELECT query in C correctly?(如何在 C 中正確地進(jìn)行 SQLite SELECT 查詢?)
Timestamp with 9 digits in SQLite file(SQLite 文件中的 9 位時(shí)間戳)
Replace path string in SQLite DB causes unexpected violated unique constraint(替換 SQLite DB 中的路徑字符串導(dǎo)致意外違反唯一約束)
reading in many tables from SQLlite databases and combining in R(從 SQLlite 數(shù)據(jù)庫(kù)中讀取許多表并在 R 中組合)
defining a quot;VARIANTquot; column type in SQLite?(定義“變體SQLite 中的列類型?)
主站蜘蛛池模板: 别墅图纸超市|别墅设计图纸|农村房屋设计图|农村自建房|别墅设计图纸及效果图大全 | 山楂片_雪花_迷你山楂片_山楂条饼厂家-青州市丰源食品厂 | 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 葡萄酒灌装机-食用油灌装机-液体肥灌装设备厂家_青州惠联灌装机械 | 制氮设备_PSA制氮机_激光切割制氮机_氮气机生产厂家-苏州西斯气体设备有限公司 | 自动气象站_农业气象站_超声波气象站_防爆气象站-山东万象环境科技有限公司 | 圣才学习网-考研考证学习平台,提供万种考研考证电子书、题库、视频课程等考试资料 | 铣刨料沥青破碎机-沥青再生料设备-RAP热再生混合料破碎筛分设备 -江苏锡宝重工 | 太阳能发电系统-太阳能逆变器,控制器-河北沐天太阳能科技首页 | 智慧农业|农业物联网|现代农业物联网-托普云农物联网官方网站 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | pH污水传感器电极,溶解氧电极传感器-上海科蓝仪表科技有限公司 | 电采暖锅炉_超低温空气源热泵_空气源热水器-鑫鲁禹电锅炉空气能热泵厂家 | 防渗土工膜|污水处理防渗膜|垃圾填埋场防渗膜-泰安佳路通工程材料有限公司 | 广东佛电电器有限公司|防雷开关|故障电弧断路器|智能量测断路器 广东西屋电气有限公司-广东西屋电气有限公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 【ph计】|在线ph计|工业ph计|ph计厂家|ph计价格|酸度计生产厂家_武汉吉尔德科技有限公司 | MVR蒸发器厂家-多效蒸发器-工业废水蒸发器厂家-康景辉集团官网 | 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 | 精密光学实验平台-红外粉末压片机模具-天津博君 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 喷涂流水线,涂装流水线,喷漆流水线-山东天意设备科技有限公司 | 钛板_钛管_钛棒_钛盘管-无锡市盛钛科技有限公司 | 防水套管-柔性防水套管-刚性防水套管-上海执品管件有限公司 | 查分易-成绩发送平台官网 | 垃圾压缩设备_垃圾处理设备_智能移动式垃圾压缩设备--山东明莱环保设备有限公司 | 螺杆式冷水机-低温冷水机厂家-冷冻机-风冷式-水冷式冷水机-上海祝松机械有限公司 | 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 讲师宝经纪-专业培训机构师资供应商_培训机构找讲师、培训师、讲师经纪就上讲师宝经纪 | 黄石东方妇产医院_黄石妇科医院哪家好_黄石无痛人流医院 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 烟雾净化器-滤筒除尘器-防爆除尘器-除尘器厂家-东莞执信环保科技有限公司 | 团建-拓展-拓展培训-拓展训练-户外拓展训练基地[无锡劲途] | 油冷式_微型_TDY电动滚筒_外装_外置式电动滚筒厂家-淄博秉泓机械有限公司 | 石家庄小程序开发_小程序开发公司_APP开发_网站制作-石家庄乘航网络科技有限公司 | 智慧物联网行业一站式解决方案提供商-北京东成基业 | 至顶网| 大型果蔬切片机-水果冬瓜削皮机-洗菜机切菜机-肇庆市凤翔餐饮设备有限公司 | 纸塑分离机-纸塑分离清洗机设备-压力筛-碎浆机厂家金双联环保 |