gpt4 book ai didi

javascript - 新日期无效日期 ("YYYY-MM-DDThh:mm:ss");实例化

转载 作者:行者123 更新时间:2023-11-28 01:33:14 24 4
gpt4 key购买 nike

我正在使用 Titan,它是一个基于 JavaScript 的移动开发框架。

我有一个数组,其中的单元格中包含一个字符串,表示“YYYY-MM-DD HH:mm:ss”格式的“日期和时间”字符串(NightsArray[i][3] 返回:2014- 02-20 23:00:00)如稍后控制台所示。

in this page它显示了带有多个参数的 Date() 对象的多个构造函数:

var today = new Date();
var birthday = new Date("December 17, 1995 03:24:00");
var birthday = new Date("1995-12-17T03:24:00");
var birthday = new Date(1995,11,17);
var birthday = new Date(1995,11,17,3,24,0);

正如您所看到的,与我的数组字符串最接近的构造函数是第三个:

var birthday = new Date("1995-12-17T03:24:00");

在下面的代码中,我将尝试使用一些 substr() 方法将字符串格式化为“YYYY-MM-DDThh:mm:ss”形式,并将结果字符串(连接后)传递给 Date() 构造函数但我得到了“无效日期”,如控制台日志中所示。

        Ti.API.error("+*///+++NIGHT DATE & TIME(string) : "+NightsArray[i][3]);
Ti.API.error("+*///+++NIGHT DATE & TIME(string)substr(0,10) : "+NightsArray[i][3].substr(0,10));
Ti.API.error("+*///+++NIGHT DATE & TIME(string)substr(11,10) : "+NightsArray[i][3].substr(11,10));

Ti.API.error("+*///+++"+NightsArray[i][3].substr(0,10)+"T"+NightsArray[i][3].substr(11,10));

var nightDateNTime = new Date(NightsArray[i][3].substr(0,10)+"T"+NightsArray[i][3].substr(11,10));
Ti.API.error("+*///+++ CURRENT DATE nightDateNTime(Date): "+nightDateNTime);
var d = new Date();
Ti.API.error("+*///+++ CURRENT DATE : "+d);

这是控制台日志:

[ERROR] :+*///+++NIGHT DATE & TIME(string) : 2014-02-19 23:00:00
[ERROR] : +*///+++NIGHT DATE & TIME(string)substr(0,10) : 2014-02-19
[ERROR] : +*///+++NIGHT DATE & TIME(string)substr(11,10) : 23:00:00
[ERROR] : +*///+++2014-02-19T23:00:00
[ERROR] : +*///+++ CURRENT DATE nightDateNTime(Date): Invalid Date
[ERROR] : +*///+++ CURRENT DATE : Mon Feb 17 2014 11:09:09 GMT+0100 (CET)

我必须在最后将该字符串与当前日期进行比较,但现在我首先必须将该字符串转换为日期,但我想知道为什么这不起作用..

最佳答案

您正在尝试解析 UTC 日期时间。在 Titanium 中,当您尝试解析日期时,它将返回无效日期。所以你需要将其转换为日期时间字符串。您可以选择按分隔符 - 和 : 拆分字符串,并将每个结果数组项传递给 Date 构造函数。

尝试以下操作

function FormatDate(date)
{
var arr = date.split(/[- :T]/), // from your example var date = "2012-11-14T06:57:36+0000";
date = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], 00);
newDate = date.toString("MMMM");
//.. do further stuff here
}

关于javascript - 新日期无效日期 ("YYYY-MM-DDThh:mm:ss");实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21826161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com