簡體   English   中英

將字符串轉換為日期-JavaScript

[英]Turn string into date - JavaScript

大家好,我正在從輸入框中檢索一個值,並使用該值將其轉換為JavaScriptDate ,其格式為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不錯。

嘗試以下格式之一

  • MM-DD-YYYY
  • YYYY / MM / DD
  • MM / DD / YYYY
  • MMMM dd,yyyy
  • MMM dd,yyyy

可能是某些瀏覽器不支持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();

在更可能的情況下,您只需要在某處顯示其格式或將其與其他日期進行比較即可,此刻提供了許多用於格式化,操作和比較日期的功能

http://momentjs.com/docs/#/displaying/as-javascript-date/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM