1. 程式人生 > >neo4j的日期時間格式轉換函式

neo4j的日期時間格式轉換函式

Neo4j底層預設是不支援類似於time,datetime等時間格式儲存的,因此如果Node節點的屬性如果想儲存有類似createTime日期格式的形式可以通過系統的timestamp()函式來獲取當前的時間:
我們可以通過

call apoc.help('timestamp')

來檢視這個函式的說明:實際上是使用System.currentTimeMillis()返回當前的毫秒的時間戳。
image.png

return timestamp()

image.png

但是1528183330725這種整數毫秒的形式可能不太直觀,我們還是希望看到類似:yyyy-MM-dd HH:mm:ss,如2018-06-05 15:22:10這類形式日期,並以字串的形式儲存於節點的屬性中。
因此,我們可以使用APOC的函式apoc.date.format來完成這個轉換操作。
看看這個函式的一些基本說明和引數

call apoc.help('apoc.date.format')
type name text signature
function apoc.date.format apoc.date.format(12345,(‘ms|s|m|h|d’),(‘yyyy-MM-dd HH:mm:ss zzz’),(‘TZ’)) get string representation of time value optionally using the specified unit (default ms) using specified format (default ISO) and specified time zone (default current TZ) apoc.date.format(time :: INTEGER?, unit = ms :: STRING?, format = yyyy-MM-dd HH:mm:ss :: STRING?, timezone = :: STRING?) :: (STRING?)

* time: INTEGER 第1個引數是整型;
* unit: STRING 第2個引數是字串,取值有ms|s|m|h|d,表示:毫秒|秒|分|時|日,是第1個引數的單位,預設值是ms,即毫秒;
* format: STRING 第3個引數表示轉換輸出的格式,如yyyy-MM-dd HH:mm:ss zzz(精確到秒,zzz表示返回時區);
* timezone: STRING 第4個引數表示時區,預設是當前Neo4j資料庫配置的時區,可以在neo4j.conf中進行dbms.db.timezone配置,預設時區是UTC;

分析完這個函式,我們就可以編寫以下的轉換操作:

return apoc.date.format(timestamp(),'ms','yyyy-MM-dd HH:mm:ss','CTT') as createTime

(這裡的CTT表示的時區是Asia/Shanghai,文末會附上所有時區的說明和對應的時區id)
結果:
╒═════════════════════╕
│”createTime” │
╞═════════════════════╡
│”2018-06-05 16:03:19”│
└─────────────────────┘

注意:如果yyyy-MM-dd HH:mm:ss中的HH變為小寫,即yyyy-MM-dd hh:mm:ss,那麼得到的小時會是12小時的表示形式,即上面的createTime變為2018-06-05 04:03:19

那麼在實際建立帶createTime日期資訊節點的時候cypher語句為:

CREATE (testNode:TestNode {pro:"test",createTime: apoc.date.format(timestamp(),'ms','yyyy-MM-dd HH:mm:ss','CTT')})
return testNode

建議的寫法為如下所示:可以在後續其他語句共同使用這個createTime變數,生成一次即可

WITH apoc.date.format(timestamp(),'ms','yyyy-MM-dd HH:mm:ss','CTT') as createTime
CREATE (testNode:TestNode {pro:"test",createTime:createTime})
return testNode

timezone時區:

EST - -05:00
HST - -10:00
MST - -07:00
ACT - Australia/Darwin
AET - Australia/Sydney
AGT - America/Argentina/Buenos_Aires
ART - Africa/Cairo
AST - America/Anchorage
BET - America/Sao_Paulo
BST - Asia/Dhaka
CAT - Africa/Harare
CNT - America/St_Johns
CST - America/Chicago
CTT - Asia/Shanghai
EAT - Africa/Addis_Ababa
ECT - Europe/Paris
IET - America/Indiana/Indianapolis
IST - Asia/Kolkata
JST - Asia/Tokyo
MIT - Pacific/Apia
NET - Asia/Yerevan
NST - Pacific/Auckland
PLT - Asia/Karachi
PNT - America/Phoenix
PRT - America/Puerto_Rico
PST - America/Los_Angeles
SST - Pacific/Guadalcanal
VST - Asia/Ho_Chi_Minh

zengxijin.jpg
歡迎加微信交流

相關推薦

neo4j日期時間格式轉換函式

Neo4j底層預設是不支援類似於time,datetime等時間格式儲存的,因此如果Node節點的屬性如果想儲存有類似createTime日期格式的形式可以通過系統的timestamp()函式來獲取當前的時間: 我們可以通過 call apoc.help

SQL Server日期時間格式轉換字符串詳解

dateadd access strong 分鐘 char 時間 詳解 var net 1、日期時間轉字符串 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(

Sql日期時間格式轉換大全

自己 pre varchar 知識 更多 tle 輸出格式 convert 關註 簡介:我們經常會用到sql日期轉換,這裏列出了日期輸出為字符串的所有代碼 輸出格式 2014-06-12 Select CONVERT(varchar(100), GETDATE(), 23

js 日期時間格式轉換 時間轉換

1.時間戳轉換成日期時間格式     // 1395849600000  => 2014-03-27 00:00:00 1-最直接易讀的轉換 var oldTime = 1395849600000 ; // 2014-03-27 00:00:00 func

SQL——時間格式轉換函式

2018年08月21日 16:59:15 沫嫣子 閱讀數:120 個人分類: SQL

mysql常用時間格式轉換函式

情景再現:有時專案中可能需要獲取不同的時間和特定的時間格式 1.now() 返回當前日期和時間 語法:now() 結果 2018-11-2 16:25:46 2.curdate()返回當前日期 語法:curdate() 結果 2018-11-2 3.curtime(

Sql日期時間格式轉換

sql server2000中使用convert來取得datetime資料型別樣式(全) 日期資料格式的處理,兩個示例: CONVERT(varchar(16), 時間一, 20) 結果:2007-02-01 08:02/*時間一般為getdate()函式或資料表裡的

MySQL時間格式轉換函式date_format()用法詳解

定義和用法 DATE_FORMAT() 函式用於以不同的格式顯示日期/時間資料。 語法 DATE_FORMAT(date,format) date 引數是合法的日期。format 規定日期/時間的輸出格式。 可以使用的格式有: 格式 描述 %a 縮寫星期名

日期時間格式轉換為date

//使用類庫CultureInfo cultureInfo = CultureInfo.CreateSpecificCulture("en-US"); string format = "ddd MMM d HH:mm:ss zz00 yyyy"; string stringValue = DateTime.N

Django中的日期處理註意事項和自定義時間格式轉換

python django datetime 我們在用Django創建models時,常常會涉及時間日期字段的處理,Django裏日期相關Field有DateTimeField、DateField和TimeField三種類型,看似簡單,但其中有一些容易出錯的地方需要註意;另外,如果不習慣Djang

python下的日期時間時間格式轉換時間戳處理,時間差處理)

python下的日期與時間 一、在Python中,時間主要有三種表示形式, 1.時間戳(TimeStamp):1970年1月1日之後的秒 2.時間元組格式化形式 包含了:年、日、星期 得到time.struct_time(tm_year=2017, tm_mo

JS檢測日期時間格式函式

 利用日期函式配合正則表示式來檢測日期時間格式,: var checkTime = function (time) { var timeFormat = /^(\d{1,4})(-|\/)(\

mysql 日期時間格式轉換實現語句

這裡是一個使用日期函式的例子。下面的查詢選擇了所有記錄,其date_col的值是在最後30天以內: mysql> SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30

C#字串轉換日期時間格式及其錯誤處理

  文章關鍵字: c#字串轉換為日期 c#日期轉換字串   字串轉換日期   字串轉換為date   整數轉換為字串   浮點數轉換為字串 字串轉換為時間   將字串轉換為時間   字元轉換為字串   字串轉換為時間 物件 字串轉換為日期型 字串轉換成日期 √字串轉換為日期

Oracle資料庫日期格式轉換函式

把日期格式轉換to_char(FZRQ,’yyyy-mm-dd hh:mi:ss’) eg: select YSZBH, CYDW, to_char(FZRQ,'yyyy-mm-dd hh:mi:ss') as FZRQ, to_char(yxrq,'yyyy-mm

Java中日期時間格式與毫秒數的相互轉換

1、輸入日期,轉化為毫秒數: 用calendar方法(calendar.getTime) 程式碼: public static void main(String[] args) { Cale

SQL Server 基本函式應用(取反,日期,時間,大小寫轉換,替換等)

--聚合函式 use pubs go select avg(distinct price) --算平均數 from titles where type='business' go use pubs go select max(ytd_sales) --最大數 from titles go use

JS將時間轉換日期時間格式

最近專案需要在前端將一個13位的時間戳顯示成日期格式,在網上查了很多都不符合要求,只有一個是能滿足要求的,在這記錄一下,說不定以後還用的著。 13位時間戳改為yyyy-MM-dd HH-mm-ss 格式 目標時間戳:1516324500000

postgresql資料庫中判斷是否是數字和日期時間格式函式

/*在編寫GreenPlum函式的過程中,遇到要判斷字串是否是數字和日期格式的情況,基於GreenPlum和postgresql的親緣關係,找到了下面兩個函式。*/--1.判斷字串是否是數字CREAT

C#時間格式轉換問題(12小時制和24小時制)

etime ring span ima 小時 date 1-1 bsp string string time = Convert.ToDateTime(date).ToString("yyyy-MM-dd HH:mm");//24小時 string time = Con