คำถามติดแท็ก timestamp

สำหรับคำถามเกี่ยวกับประเภทข้อมูลการประทับเวลาและ / หรือการบันทึกช่วงเวลาใดเวลาหนึ่ง

2
ฉันจะรับการประทับเวลา unix ปัจจุบันจาก PostgreSQL ได้อย่างไร
Unix timestampคือจำนวนวินาทีตั้งแต่เที่ยงคืน UTC 1 มกราคม 1970 ฉันจะรับการประทับเวลา unix ที่ถูกต้องจาก PostgreSQL ได้อย่างไร เมื่อเปรียบเทียบกับcurrenttimestamp.comและtimestamp.1e5b.deฉันไม่ได้รับเวลาที่คาดหวังจาก PostgreSQL: ส่งคืนการประทับเวลาที่ถูกต้อง: SELECT extract(epoch from now()); ในขณะนี้ไม่ได้: SELECT extract(epoch from now() at time zone 'utc'); ฉันอาศัยอยู่ในเขตเวลา UTC +02 วิธีที่ถูกต้องในการรับ timestamp ยูนิกซ์ปัจจุบันจาก PostgreSQL คืออะไร? สิ่งนี้จะคืนค่าเวลาและโซนเวลาที่ถูกต้อง: SELECT now(); now ------------------------------- 2011-05-18 10:34:10.820464+02 การเปรียบเทียบอื่น: select now(), extract(epoch from now()), extract(epoch from …

2
ความแตกต่างระหว่าง now () และ current_timestamp
ใน PostgreSQL ฉันใช้now()และcurrent_timestampฟังก์ชั่นและฉันไม่เห็นความแตกต่าง: # SELECT now(), current_timestamp; now | now --------------------------------+-------------------------------- 04/20/2014 19:44:27.215557 EDT | 04/20/2014 19:44:27.215557 EDT (1 row) ฉันพลาดอะไรไปรึเปล่า?

4
MySQL ตั้งค่าเวลา UTC เป็นเวลาเริ่มต้น
ฉันจะตั้งค่าคอลัมน์เวลาประทับที่ค่าเริ่มต้นคือเวลา UTC ปัจจุบันได้อย่างไร MySQL ใช้UTC_TIMESTAMP()ฟังก์ชั่นสำหรับการประทับเวลา UTC: mysql> SELECT UTC_TIMESTAMP(); +---------------------+ | UTC_TIMESTAMP() | +---------------------+ | 2012-07-01 11:36:35 | +---------------------+ 1 row in set (0.00 sec) ดังนั้นฉันได้ลอง: CREATE TABLE `blah` ( `creation_time` TIMESTAMP DEFAULT UTC_TIMESTAMP, ... และรูปแบบอื่น ๆ เช่นUTC_TIMESTAMP()แต่ไม่ประสบความสำเร็จ

2
วิธีรับคอลัมน์เวลาประทับในเวลามิลลิวินาทีเท่านั้นจาก PostgreSQL
ฉันมีคอลัมน์ "สร้าง" พร้อมพิมพ์timestamp without time zone default now()ในฐานข้อมูล PostgreSQL ถ้าฉันเลือก colums มันมีรูปแบบที่ดีและอ่านได้ตามค่าเริ่มต้น: SELECT created FROM mytable; created --------------------------- 2011-05-17 10:40:28.876944 แต่ฉันต้องการได้รับการประทับเวลาในมิลลิวินาทีเท่านั้น (นาน) บางสิ่งเช่นนี้ SELECT myformat (สร้าง) จาก mytable; created ----------------- 2432432343876944 ฉันจะรับคอลัมน์การประทับเวลาได้เพียงมิลลิวินาทีจาก PostgreSQL ได้อย่างไร การตอบสนองต่อแจ็ค: ฉันจะได้รับความแตกต่างเช่นเดียวกับคุณ (-3600) แต่ถ้าผมใช้timestamp with time zoneผมจะเห็นว่า "ความผิดพลาด" หรือแตกต่างกันเป็นเพราะ '1970/01/01' +01ได้รับโซนเวลา create table my_table_2(created timestamp with …

2
วิธีการจัดเก็บการประทับเวลาใน PostgreSQL ที่ดีที่สุด
ฉันกำลังทำงานกับการออกแบบฐานข้อมูล PostgreSQL และฉันสงสัยว่าวิธีที่ดีที่สุดในการจัดเก็บการประทับเวลา สมมติฐาน ผู้ใช้ในเขตเวลาที่แตกต่างกันจะใช้ฐานข้อมูลสำหรับฟังก์ชั่น CRUD ทั้งหมด ฉันดูที่ 2 ตัวเลือก: timestamp NOT NULL DEFAULT (now() AT TIME ZONE 'UTC') bigint NOT NULL DEFAULT สำหรับtimestampฉันจะส่งสตริงที่จะแสดงเวลาที่แน่นอน (UTC) สำหรับช่วงเวลา INSERT สำหรับbigintฉันจะเก็บสิ่งเดียวกันแน่นอน แต่ในรูปแบบตัวเลข (ปัญหาเกี่ยวกับเขตเวลาได้รับการจัดการก่อนที่จะส่งมิลลิวินาทีไปยังเซิร์ฟเวอร์ดังนั้นมิลลิวินาทีใน UTC ทุกครั้ง) ข้อได้เปรียบหลักอย่างหนึ่งของการจัดเก็บ a bigintอาจเป็นไปได้ว่าจะเป็นการง่ายกว่าในการจัดเก็บและดึงข้อมูลเนื่องจากการส่งผ่านการประทับเวลาที่จัดรูปแบบอย่างถูกต้องนั้นมีความซับซ้อนมากกว่าตัวเลขง่าย ๆ คำถามของฉันคือสิ่งที่จะช่วยให้การออกแบบที่ยืดหยุ่นที่สุดและสิ่งที่อาจเป็นข้อผิดพลาดของแต่ละวิธี

2
ไม่สามารถกำหนดวันที่เป็น CURRENT_TIMESTAMP ใน MySQL 5.5 ได้
ฉันไม่สามารถตั้งCurrent_timestampเป็นค่าเริ่มต้นได้ ฉันรุ่นMysql5.5.47 ข้อความค้นหาคือ ALTER TABLE `downloads` ADD `date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ; mysql V5.6.56ในขณะที่มันทำงานได้ดีบนฐานข้อมูลท้องถิ่นของฉันด้วย

1
วิธีแปลงเวลา unix เป็น Timstamp ของ PostgreSQL โดยไม่มี timezome
ฉันมีฐานข้อมูล PostgreSQL ทำงานบนเซิร์ฟเวอร์ที่ตั้งค่าเขตเวลาเป็นโซนเวลาของอินเดีย (เช่น UTC +5: 30) ฉันมีข้อมูลบางอย่างในตารางที่สร้างเช่นนี้ CREATE TABLE "CLOUDDATA" ( "CD_Tm_Obs" timestamp without time zone, "CD_Avg_Cloud" double precision ) ฉันต้องการสืบค้นข้อมูลและรับค่าตามเวลาที่กำหนด อินพุตของฉันจะเป็น Unix Timestamp (เช่นวินาทีจาก 1 มกราคม 1970) select to_timestamp(TRUNC(CAST(1395036000 AS bigint)))วิธีเดียวของการแปลงเวลายูนิกซ์การประทับเวลาที่ฉันได้พบคือ: แต่สิ่งนี้สร้างการประทับเวลาด้วยเขตเวลา ข้อมูลของฉันอยู่ในtimestamp without time zoneดังนั้นฉันไม่ได้รับผลลัพธ์ใด ๆ วิธีการแปลงเวลา unix เป็น Timstamp ของ PostgreSQL โดยไม่มี timezome?

1
เหตุใดเขตเวลาจึงมีออฟเซ็ตออฟจาก UTC ในปี 0001 ใน Postgres อย่างบ้าคลั่ง
ใน Postgres 9.5 ฉันรู้สึกประหลาดใจเมื่อเห็นผลลัพธ์ที่เห็นด้านล่างขณะทำการทดสอบกับปี0001(ไม่มีศูนย์ปี0000) ออฟเซ็ตของ-07:52:58? ตัวอย่างรหัสบางส่วน โปรดทราบว่าฉันใช้ผสมกับTIMESTAMP WITH TIME ZONEและTIMESTAMP WITHOUT TIME ZONEดังนั้นอ่านอย่างระมัดระวัง SET TIME ZONE 'America/Los_Angeles' ; SELECT (TIMESTAMP WITH TIME ZONE '2015-01-01 00:00:00.0', TIMESTAMP WITH TIME ZONE '0001-01-01 00:00:00.0Z', TIMESTAMP WITHOUT TIME ZONE '0001-01-01 00:00:00.0Z') ; ("2015-01-01 00:00:00-08","0001-12-31 16:07:02-07:52:58 BC","0001-01-01 00:00:00") 0001-12-31 16:07:02-07:52:58 BCฉันกำลังประหลาดใจโดยค่าที่สองว่า ผมเข้าใจว่าเราต้องย้อนกลับไปแปดชั่วโมงเป็นAmerica/Los_Angelesเป็นแปดชั่วโมงที่อยู่เบื้องหลัง UTC กับ offset …

3
“ AT TIME ZONE” พร้อมชื่อโซนบั๊ก PostgreSQL หรือไม่
ฉันตอบคำถามstackoverflowนี้และพบผลลัพธ์ที่แปลก: select * from pg_timezone_names where name = 'Europe/Berlin' ; name | abbrev | utc_offset | is_dst ---------------+--------+------------+-------- Europe/Berlin | CET | 01:00:00 | f และแบบสอบถามต่อไป select id, timestampwithtimezone, timestampwithtimezone at time zone 'Europe/Berlin' as berlin, timestampwithtimezone at time zone 'CET' as cet from data ; id | timestampwithtimezone | …


3
การจัดเก็บเวลาด้วยมิลลิวินาทีในฐานข้อมูล
เพียงคำถามสั้น ๆ เกี่ยวกับการจัดเก็บ "เวลา" ในฐานข้อมูล ฉันบันทึกเวลาที่ผู้ใช้ทำงานซึ่งอยู่ในรูปแบบ 00: 00: 00: 00 (ชั่วโมง, นาที, วินาที, มิลลิวินาที) เดิมทีฉันจะเก็บมันไว้TIMEแต่แล้วฉันก็รู้ว่า MySQL ไม่รองรับมิลลิวินาทีในประเภทนี้ ฉันจะจัดเก็บเวลาจริงที่ถ่ายจากนาฬิกาจับเวลาของผู้ใช้ไม่ใช่เวลาที่พวกเขาวิ่งและสิ้นสุด (นี่จะถูกคำนวณก่อนที่จะถูกแทรก) ประเภทเขตข้อมูลที่ดีที่สุดที่จะใช้คืออะไร ผมคิดว่าอย่างใดอย่างหนึ่งdoubleหรือfloatแต่ผมไม่แน่ใจว่าจะทำงานอย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.