[英]Turn string into date - JavaScript
大家好,我正在從輸入框中檢索一個值,並使用該值將其轉換為JavaScript
的Date
,其格式為Ymd h:i:s
。 它在Chrome中完美運行,但其他任何瀏覽器都顯示invalid Date
var old = $(".checked-in-time").val();
old = new Date(old);
更新:
這是我在做什么:
var current = new Date();
var old = $(".checked-in-time").val();
old = Date.parse(old , 'Y-m-d H:i:s');
var newEnd = current - old
minutes = parseInt((newEnd/(1000*60))%60);
var subtractedWaitTime = minutes;
幾乎可以得到基於分鍾的時差。
您可以像這樣解析日期,
var old = $(".checked-in-time").val();
old = Date.parseDate(old , 'yyyy-mm-dd h:i:s');
如果上述方法無效,您也可以嘗試使用Ymd H:i:s
這種格式。 對我來說, Y/m/d H:i
不錯。
嘗試以下格式之一
可能是某些瀏覽器不支持yyyy-mm-dd
您可以嘗試使用Ym-dTH:i:s
這樣的格式,例如2011-01-01T12:00:00
或者您可以使用矩型庫(Javascript日期庫)
Date.parse接受有限數量的格式:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
您的格式不是受支持的格式之一。 您可以自己解析它,只需直接傳遞參數即可。 Date接受的一種形式是這種形式,可以很容易地從您的格式中取出:
new Date(year, month[, date[, hour[, minutes[, seconds[, milliseconds]]]]]);
但我建議您省去擔心跨瀏覽器兼容性和自己解析內容的煩惱,而改用“ 時刻”功能 ,您可以在此處解析日期
moment(dateStr,'YYYY-M-D H:m:s')
然后如果您需要將其作為Javascript Date對象,則可以運行
moment().toDate();
在更可能的情況下,您只需要在某處顯示其格式或將其與其他日期進行比較即可,此刻提供了許多用於格式化,操作和比較日期的功能
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.