1. 程式人生 > >Node.js中怎麼獲取北京時間?

Node.js中怎麼獲取北京時間?

基於Node.js開發開發的時候,呼叫new Date()出來的時間是這樣的:

2017-01-18T09:30:38.405Z

而當前時間北京時間是17:30,為了不讓自己總有穿越感,於是需要轉換一下。

過程可以是這樣的(在Node.js的命令列下):

> a = new Date();
2017-01-18T09:30:38.405Z
> m = a.getTime()
1484731838405
> o = a.getTimezoneOffset() * 60 * 1000
-28800000
> o = m - o;
1484760638405
> b = new Date(o)
2017-01-18T17:30:38.405Z
>

即構造了一個日期,獲取時間戳(getTime)再獲取本地時間偏移(getTimezoneOffset),然後把原時間減去該偏移,再重新構造一個新時間即可。

如果本地系統如Ubuntu,用的就是UTC時間,那麼getTiezoneOffset()將返回0,上面的過程就失效了。

如果要強制轉成北京時間,也很簡單,就是硬編碼-28800000

像這樣:

> a = new Date(new Date().getTime() + 28800000)
2017-01-18T17:34:31.296Z
注意:轉換之後的時間本質上海市格林威治時間,只不過我們再呼叫getHours()等函式的時候,獲取的數值是本地的


相關推薦

node.js獲取當前時間

1 左下角 cmd 將碟符定位到webstorm的工作目錄路徑下 回車後開始下載,下載後,會出現在Node_Moudles資料夾下 新建一個js檔案,檔案內容如下: var sd =

JS獲取當前時間並做簡單處理

好久沒寫部落格了,今天工作的時候需要處理前端獲取到的時間,查了一些資料,寫這邊部落格算是做點筆記了! JS中獲取 年-月,並做拼接。 // 獲取完整的日期 var date=new Date; var year=date.getFullYear(); // 當前年份 v

Node.js怎麼獲取北京時間

基於Node.js開發開發的時候,呼叫new Date()出來的時間是這樣的: 2017-01-18T09:30:38.405Z 而當前時間北京時間是17:30,為了不讓自己總有穿越感,於是需要轉換一下。 過程可以是這樣的(在Node.js的命令列下): > a

[轉] node.js如何獲取時間戳與時間差

適合 但是 影響 and log http 處理 www. 系統資源 [From] http://www.jb51.net/article/89767.htm Nodejs中獲取時間戳的方法有很多種,例如: 1.new Date().getTime()

Js獲取時間 new date()的用法

ets test getdate 轉換成 添加 問題 mar div day Js中獲取時間 new date()的用法 獲取時間: var myDate = new Date();//獲取系統當前時間 myDate.getYear(); //獲取當前年份(2位)

js獲取時間new date()的用法

log nta gif 頁面元素 小時 rip 轉換 let 月份 獲取時間: 1 var myDate = new Date();//獲取系統當前時間 獲取特定格式的時間: 1 myDate.getYear(); //獲取當前年份

js獲取時間new date()的用法和獲取時間

etsec 開始 ava time() 方法 spa value 元素 index 獲取時間: 1 var myDate = new Date();//獲取系統當前時間 獲取特定格式的時間:

js獲取時間new date()的用法 ?

使用 ora src 出現 ise www. add 復制 right js中獲取時間new date()的用法獲取時間:1var myDate = new Date();//獲取系統當前時間獲取特定格式的時間: 1 myDate.getYear(); //獲取當前年份(2

js獲取時間new Date()詳細介紹

var myDate = new Date();myDate.getYear(); //獲取當前年份(2位)myDate.getFullYear(); //獲取完整的年份(4位,1970-????)myDate.getMonth(); //獲取當前月份(0-11,0代表1月)

js獲取時間new Date 詳細介紹

var myDate = new Date();myDate.getYear(); //獲取當前年份(2位)myDate.getFullYear(); //獲取完整的年份(4位,1970-????)myDate.getMonth(); //獲取當前月份(0-11,0代表1月)    

Node.js獲取req請求的原始IP

headers = {"x-real-ip":"127.0.0.1","x-forwarded-for":"127.0.0.1","host":"127.0.0.1","connection":"close","k2":"v2","k1":"v1","cache-control":"no-cache","

前端在js獲取使用者所在地區的時間與時區

var times = Date() // 如果這種方式不行就使用 New Date() "Sat Jan 05 2019 10:35:24 GMT+0800 (中國標準時間)" var arr = String(times).split(" ") ["Sat", "Jan", "05", "20

JS獲取元素的第二種方法

utf display 獲取 重復執行 ecb sed 文檔 練習 elements 1.靜態方法   var oUl = document.getElementById(‘‘); 2.動態方法   document.getElementsByTagName(‘‘);

node.js的http.response.end方法使用說明

-c 方法 net ron blog 分享 函數 客戶端 pan 轉載自:http://m.jb51.net/article/58468.htm 本文介紹了http.response.end的方法說明、語法、接收參數、使用實例和實現源碼,需要的朋友可以參考下 方法

Node.js的異步I/O是如何進行的?

ioc 而是 網絡 調用 發現 回調函數 異步調用 技術 如何 Node.js的異步I/O通過事件循環的方式實現。其中異步I/O又分磁盤I/O和網絡I/O。在磁盤I/O的調用中,當發起異步調用後,會將異步操作送進libuv提供的隊列中,然後返回。當磁盤I/O執行完成之後,會

Js獲取鍵盤的事件

sub 定義 sla set select 做的 aer ren rcu 使用方法: <script type="text/javascript" language=JavaScript charset="UTF-8"> document.onke

node.jsmysql連接池的使用

lease package lba ref table mysql mod select something https://cnodejs.org/topic/58378543bde2b59e06141f5a 起初的做法是創建一個連接然後使用,後來發現一段時間後會出現

如何在Node.js合並兩個復雜對象

node sum cond indexof 過程 我們 http str first  通常情況下,在Node.js中我們可以通過underscore的extend或者lodash的merge來合並兩個對象,但是對於像下面這種復雜的對象,要如何來應對呢?   例如我有以下兩

關於JS獲取瀏覽器高度和寬度值的多種方法(多瀏覽器)

正文 取數 16px javascrip 函數 script meta get ansi 三種瀏覽器獲取值方法 IE中: document.body.clientWidth ==> BODY對象寬度 document.body.clientHeight ==>

js獲取到的頁面元素為undefined

代碼 有效 查找 才會 直接 為我 defined 資料 報錯 在學習js的過程中發現了一個問題就是:在js代碼中獲取頁面元素進行操作的時候發現怎麽都沒有效果,控制臺也不報錯,彈出獲取的元素結果發現是undefined類型。 後來查找了資料發現:因為我的js是寫在head頭