在做前端校验的时候,要做日期比较的校验,在js中把字符串转化为日期,一时之间还真不知道在js中怎么把一个字符串格式的日期转化为Date,查看了一些资料,在此分享下。
下面以调用js中Date(year,month,day)来生成一个日期对象。
1.把字符串格式转换为日期的函数,函数接受两个参数,dateStr字符串日期格式, separator日期格式分隔符,默认是-。,这里没有对字符串的日期格式做校验,因为大部分的日期都是通过日期控件选择的,在此没做校验。
var stringToDate = function(dateStr,separator){
if(!separator){
separator="-";
}
var dateArr = dateStr.split(separator);
var year = parseInt(dateArr[0]);
var month;
//处理月份为04这样的情况 if(dateArr[1].indexOf("0") == 0){
month = parseInt(dateArr[1].substring(1));
}else{
month = parseInt(dateArr[1]);
}
var day = parseInt(dateArr[2]);
var date = new Date(year,month -1,day);
return date;
}
2.js中的日期比较,直接可以使用 > < 操作符用来比较日期对象,比如下面的函数,比较两个日期对象,但是不能用 == 直接比较日期,所以这里用毫米数比较
var compareDate = function(date1,date2){
return date1> date2;
}
//比较日期相等
var equals = function(date1,date2){
return date1.getTime() == date2.getTime();
}
注意,js中的日期对象的月份是0-11,不是1-12。把字符串格式转化为日期格式是应把月份减去一,比如你把“2013-12-21”转化为时间类型,会是2014-1-21。
分享到:
相关推荐
本文将围绕“JS判断日期大小”这一主题,深入解析如何利用JS内置的Date对象和一些实用函数来实现日期大小的比较,以及探讨此功能在实际开发中的应用场景。 ### JS中的Date对象 JS的`Date`对象提供了丰富的功能来...
接下来,通过`split`方法将日期字符串分割成年、月、日三部分,并将其转换为数字类型。 ```javascript var startTimes = startTime.split("-"); var sourceYear = startTimes[0]; var sourceMon = startTimes[1]; ...
在Web开发或后端服务中,经常需要对用户的操作时间进行记录和比较。例如,在日志分析、订单处理、活动时间管理等方面,都需要能够准确地判断某个时间是否早于或晚于另一个时间。对于这样的需求,就需要有一个简单而...
本文将深入探讨如何将字符串转换为日期对象,并使用这些对象来比较日期的大小。我们将介绍两种不同的方法,它们都允许您处理“年-月-日”格式的日期字符串。 ### 方法1: 使用`substring`和`Date.parse` 这种方法...
- **解析字符串为日期**:可以使用`Date.parse()`方法将符合特定格式的日期字符串转换为毫秒数的时间戳。 #### 方法一:使用`Date`对象直接比较 ```javascript function compareCalendar(startDate, endDate) { ...
以上三个函数提供了JavaScript中处理日期的基本能力:比较日期大小、验证日期格式以及判断两个日期是否在同一个月份。这些函数可以很好地帮助开发者在Web应用中进行日期相关的逻辑处理,从而提高应用程序的功能性和...
- **日期格式化**:在实际应用中,往往需要将日期对象转换为特定格式的字符串,这可以通过自定义函数实现,或者借助第三方库如`moment.js`等,这些库提供了强大的日期操作和格式化功能。 - **国际化日期处理**:在多...
接下来,使用`Date.parse()`函数将字符串转换为`Date`对象,并通过比较两个日期对象的`getTime()`方法返回的时间戳来进行时间比较。 ```javascript if (Date.parse(startDate) - Date.parse(endDate) > 0) { alert...
例如,有一个Date对象d表示时间2008年3月27日14:57:11 GMT+0800,当比较d和字符串表示的日期时,例如d > "Thu Mar ***:57:11 GMT+0800 (CST)",JavaScript会先将字符串解析为日期,再转换为时间戳进行比较。...
在这种情况下,我们需要先将字符串转换为Date对象。例如: ```javascript function parseDateString(dateStr) { let [year, month, day] = dateStr.split('-'); return new Date(+year, +month - 1, +day); // ...
如果原始数据是字符串,可能需要先通过strptime函数将其转换为日期时间对象。 2. **创建时间对象**:根据指定格式创建两个时间对象,确保它们包含小时、分钟和秒的信息。 3. **进行比较**:使用对象的比较操作符...
`Date.parse()`能够将任何符合其格式的日期字符串转换为毫秒数,而正则表达式`replace(/-/g,"/")`则是用于格式化输入的时间字符串,将其统一为`Date.parse()`能够识别的格式(即将所有的短横线`-`替换为斜杠`/`)。...
这里使用`Date.parse()`方法将字符串转换为毫秒值,然后创建`Date`对象。接下来,就可以直接比较这两个`Date`对象: ```javascript if (b_date > e_date) { alert("开始日期不能大于结束日期!"); return false; }...
Day.js 是一个专门为JavaScript开发的轻量级时间日期处理库,它的主要目标是提供与Moment.js高度相似的API,使得开发者在使用时能快速上手,尤其对于那些熟悉Moment.js的人来说。Day.js的体积小,性能高效,这使得它...
- **日期和时间解析**:将字符串或其他类型的数据转换为日期对象。 - **格式化**:将日期对象转换为各种格式的字符串,如"YYYY-MM-DD"或"MM/dd/yyyy"。 - **比较**:比较两个日期的大小或是否相等。 - **计算**:...
在标题和描述中提到的"javascript简单比较日期大小的方法",实际上涉及到的是如何使用JavaScript内置的Date对象来比较两个日期的先后顺序。下面将详细介绍这个过程。 首先,我们创建或获取两个日期对象。在提供的...
此库还提供了将时间差转化为人类可读的字符串的功能,如 "2分钟前"、"1小时前" 或 "3天前"。这对于展示最新的消息、评论等实时更新的信息非常有用。 ```javascript var ago = dateFormat(new Date() - 60*60*1000, ...
JSPExample10.jsp 字符串类型与其他数据类型的转换 JSPExample11.jsp 解析字符串的子字符串 stringOP.html 页面数据提交至JSPExample12.jsp JSPExample12.jsp 字符串替换 JSPExample13.jsp ...
例如,你可以用`Ext.Date.format()`将日期对象转换为指定格式的字符串,或用`Ext.Date.parse()`将字符串解析为日期对象。这些方法非常灵活,支持多种自定义格式,如"Y-m-d H:i:s"代表年-月-日 时:分:秒。 `Datetime...