{"id":13786,"date":"2022-10-05T09:20:49","date_gmt":"2022-10-05T03:50:49","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/"},"modified":"2022-10-05T09:20:49","modified_gmt":"2022-10-05T03:50:49","slug":"solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/","title":{"rendered":"[Solved] Time precision issue on comparison in mongodb driver in Go and possibly in other language and other database"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-52062145\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"52062145\" data-parentid=\"52061986\" data-score=\"5\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Times in BSON are represented as UTC milliseconds since the Unix epoch (<a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/bsonspec.org\/spec.html\">spec<\/a>). Time values in Go have nanosecond precision.<\/p>\n<p>To round trip time.Time values through BSON marshalling, use times truncated to milliseconds since the Unix epoch:<\/p>\n<pre><code>func truncate(t time.Time) time.Time {\n    return time.Unix(0, t.UnixNano()\/1e6*1e6)\n}\n\n...\n\nu := user{\n    Username:          \"test_bson_username\",\n    Password:          \"1234\",\n    UserAccessibility: \"normal\",\n    RegisterationTime: truncate(time.Now()), \n}\n<\/code><\/pre>\n<p>You can also use the <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/godoc.org\/time#Time.Truncate\">Time.Truncate<\/a> method:<\/p>\n<pre><code>u := user{\n    Username:          \"test_bson_username\",\n    Password:          \"1234\",\n    UserAccessibility: \"normal\",\n    RegisterationTime:  time.Now().Truncate(time.Millisecond),\n}\n<\/code><\/pre>\n<p>This approach relies on the fact that Unix epoch and Go zero time differ by a whole number of milliseconds.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">2<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Time precision issue on comparison in mongodb driver in Go and possibly in other language and other database <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Times in BSON are represented as UTC milliseconds since the Unix epoch (spec). Time values in Go have nanosecond precision. To round trip time.Time values through BSON marshalling, use times truncated to milliseconds since the Unix epoch: func truncate(t time.Time) time.Time { return time.Unix(0, t.UnixNano()\/1e6*1e6) } &#8230; u := user{ Username: &#8220;test_bson_username&#8221;, Password: &#8220;1234&#8221;, &#8230; <a title=\"[Solved] Time precision issue on comparison in mongodb driver in Go and possibly in other language and other database\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/\" aria-label=\"More on [Solved] Time precision issue on comparison in mongodb driver in Go and possibly in other language and other database\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[546,596,1128,636],"class_list":["post-13786","post","type-post","status-publish","format-standard","hentry","category-solved","tag-database","tag-go","tag-mongodb","tag-time"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Time precision issue on comparison in mongodb driver in Go and possibly in other language and other database - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Time precision issue on comparison in mongodb driver in Go and possibly in other language and other database - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Times in BSON are represented as UTC milliseconds since the Unix epoch (spec). Time values in Go have nanosecond precision. To round trip time.Time values through BSON marshalling, use times truncated to milliseconds since the Unix epoch: func truncate(t time.Time) time.Time { return time.Unix(0, t.UnixNano()\/1e6*1e6) } ... u := user{ Username: &quot;test_bson_username&quot;, Password: &quot;1234&quot;, ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-05T03:50:49+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Time precision issue on comparison in mongodb driver in Go and possibly in other language and other database\",\"datePublished\":\"2022-10-05T03:50:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/\"},\"wordCount\":106,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"database\",\"go\",\"mongodb\",\"time\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/\",\"name\":\"[Solved] Time precision issue on comparison in mongodb driver in Go and possibly in other language and other database - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-10-05T03:50:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Time precision issue on comparison in mongodb driver in Go and possibly in other language and other database\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Time precision issue on comparison in mongodb driver in Go and possibly in other language and other database - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Time precision issue on comparison in mongodb driver in Go and possibly in other language and other database - JassWeb","og_description":"[ad_1] Times in BSON are represented as UTC milliseconds since the Unix epoch (spec). Time values in Go have nanosecond precision. To round trip time.Time values through BSON marshalling, use times truncated to milliseconds since the Unix epoch: func truncate(t time.Time) time.Time { return time.Unix(0, t.UnixNano()\/1e6*1e6) } ... u := user{ Username: \"test_bson_username\", Password: \"1234\", ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/","og_site_name":"JassWeb","article_published_time":"2022-10-05T03:50:49+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Time precision issue on comparison in mongodb driver in Go and possibly in other language and other database","datePublished":"2022-10-05T03:50:49+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/"},"wordCount":106,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["database","go","mongodb","time"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/","url":"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/","name":"[Solved] Time precision issue on comparison in mongodb driver in Go and possibly in other language and other database - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-10-05T03:50:49+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-time-precision-issue-on-comparison-in-mongodb-driver-in-go-and-possibly-in-other-language-and-other-database\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Time precision issue on comparison in mongodb driver in Go and possibly in other language and other database"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/13786","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=13786"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/13786\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=13786"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=13786"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=13786"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}