安卓手機及pc端支援時間為("yyyy-mm-dd hh:mm:ss")的格式,對於ios手機來說這種格式是存在相容性問題的,從而導致頁面時間顯示為nana的問題,我們可以從ios支援時間格式為("yyyy/mm/dd hh:mm:ss")入手。
將2020-09-25t06:45:49.000+0000轉化為2020/09/25 06:45:49,並就8小時的問題展開判斷(沒有進行驗證,如果需要使用請自行驗證)
var time =
'2020-09-25t06:45:49.000+0000'
;var timefilt =
(time.
replace
(/t/g
,' '))
.replace
(/-/g
,'/'
)var timefilts = timefilt.
slice(0
,timefilt.
indexof
('.'))
var date =
newdate
(timefilts)
// 獲取年份
var year = date.
getfullyear()
;// 獲取月份
var month = date.
getmonth()
+1;// 獲取日期
var ddate = date.
getdate()
;// 獲取小時,設定為北京時間需加上上8小時
var hour = date.
gethours()
+8;// hour大於24時進行判斷,日期即ddate需加1
if(hour >24)
// 1,3,5,7,8,10,12月份有31天,閏年二月有29天,平年28天,其他月份30天,需依次進行判斷,超出月份加1
if(month ==
1|| month ==
3|| month ==
5|| month ==
7|| month ==
8|| month ==
10|| month ==12)
}else
if(month ==
4|| month ==
6|| month ==
9|| month ==11)
}// 判斷輸入時間的2月份的年份是平年還是閏年
if(month ==2)
}else}}
// 判斷月份是否大於12,是的話年份加1
if(month >12)
hour = hour <10?
'0'+ hour : hour;
ddate = ddate <10?
'0'+ ddate : ddate;
month = month <10?
'0'+ month : month;
// 獲取分鐘
var minute = date.
getminutes()
; minute = minute <10?
'0'+ minute : minute;
// 獲取秒數
var second = date.
getseconds()
; second = second <10?
'0'+ second : second;
var finaltime = year+
'-'+month+
'-'+ddate+
' '+hour+
':'+minute+
':'+second;
formatdatefilter
(time)
},
方法1,2都有各自的優缺點,方法1比較複雜,但所佔記憶體比較小,方法2比較簡單,moment包所佔記憶體比較大,具體看開發中實際情況! js獲取本機時間,即時顯示時間
script var mydate new date 獲取當前年份 2位 獲取完整的年份 4位,1970 獲取當前月份 0 11,0代表1月 獲取當前日 1 31 獲取當前星期x 0 6,0代表星期天 獲取當前時間 從1970.1.1開始的毫秒數 獲取當前小時數 0 23 獲取當前分鐘數 0 59 ...
iOS時間顯示今天昨天
一 前言 今天無意間想起寫這個功能,仔細考慮了一下,其實很簡單,整體思路如下 先獲取你所要轉換的時間的年月日,然後再獲取今天和昨天的年月日,然後對比,進而返回不同的字串。二 實現步驟 首先,我們設定一下時間格式 nsdateformatter format nsdateformatter alloc...
微信小程式獲取時間戳IOS顯示為NaN或null
var mgetnowdate new date tolocaledatestring 獲取當前日期,格式為2021 1 8 mgetnowdate mgetnowdate.replace g,把2021 1 8轉為2021 1 8 let curdate new date mgetnowdate ...