Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何比较格式化的日期字符串_Javascript_Date - Fatal编程技术网

Javascript 如何比较格式化的日期字符串

Javascript 如何比较格式化的日期字符串,javascript,date,Javascript,Date,因此,我将以下格式的日期“dd.MM.yyyy”保存为字符串,我想比较这些日期 我尝试使用>=或您有两个选项: 1) 从这些字符串生成日期对象,并像以前一样进行比较 2) 重新格式化字符串,如YYYYMMdd,并将其作为数字进行比较我认为最好将对象格式中的日期与其他格式中的日期进行比较,以获得实际的日期值 我以前试过 有很多变体,如果要进行比较,应将字符串的格式设置为接近ISO格式(yyyy-MM-dd)的可比较格式,例如对字符串数组进行排序: // let array = [...your f

因此,我将以下格式的日期“dd.MM.yyyy”保存为字符串,我想比较这些日期

我尝试使用>=或您有两个选项:

1) 从这些字符串生成日期对象,并像以前一样进行比较


2) 重新格式化字符串,如YYYYMMdd,并将其作为数字进行比较

我认为最好将对象格式中的日期与其他格式中的日期进行比较,以获得实际的日期值


我以前试过

有很多变体,如果要进行比较,应将字符串的格式设置为接近ISO格式(yyyy-MM-dd)的可比较格式,例如对字符串数组进行排序:

// let array = [...your format strings];
let sortedArray = array
    .map(str => {
        let [dd, MM, yyyy] = str.split('.');
        return `${yyyy}.${MM}.${dd}`;
    })
    .sort((a, b) => a.localeCompare(b))
    .map(str => {
        let [yyyy, MM, dd] = str.split('.');
        return `${dd}.${MM}.${yyyy}`;
    });

正如您提到的,您的日期存储为字符串。你可以试试下面的方法

1) SQL中的第一组日期格式 它将设置一种格式

2) 强制转换/转换值并将其放入变量中

3) 然后你可以比较或找到两者之间的日期


希望这有帮助。

将两个日期字符串转换为日期对象并进行比较。字符串date1=“31.12.1998”;Date dateObj=新的SimpleDateFormat(“dd.MM.yyyy”).parse(日期1);哪里定义了
SimpleDataFormat
,@AmmarTahir?如果您有表示日期的值,并且希望将它们作为日期进行比较,那么最好将它们作为日期保存。@HereticMonkey。SimpleDataFormat是一个公共类。请参阅以供参考:@AmmarTahir问题被标记为JavaScript,而不是Java。通常最好的做法是将日期保留为日期对象,并且仅在显示在UI上时使用格式吗?我认为是的,因为日期对象保留更多信息,如时间、毫秒、, timezone@Sergej-日期实例仅存储一个值:自ECMAScript纪元(1970-01-01)以来的毫秒时间值。其他所有内容(偏移量、小时数、分钟数等)均在每次get呼叫时计算。