`
ahitbo
  • 浏览: 17508 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JS 日期字符串 转换函数

    博客分类:
  • JS
 
阅读更多
/*将String类型解析为Date类型.      
  parseDate('2006-1-1') return new Date(2006,0,1)      
  parseDate(' 2006-1-1 ') return new Date(2006,0,1)      
  parseDate('2006-1-1 15:14:16') return new Date(2006,0,1,15,14,16)      
  parseDate(' 2006-1-1 15:14:16 ') return new Date(2006,0,1,15,14,16);      
  parseDate('2006-1-1 15:14:16.254') return new Date(2006,0,1,15,14,16,254)      
  parseDate(' 2006-1-1 15:14:16.254 ') return new Date(2006,0,1,15,14,16,254)      
  parseDate('不正确的格式') retrun null      
*/        
function parseDate(str){         
  if(typeof str == 'string'){         
    var results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/);         
    if(results && results.length>3)         
      return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]));          
    results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/);         
    if(results && results.length>6)         
     return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]));          
    results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/);         
    if(results && results.length>7)         
      return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]),parseInt(results[7]));          
  }         
  return null;         
}         
  
/*      
  将Date/String类型,解析为String类型.      
  传入String类型,则先解析为Date类型      
  不正确的Date,返回 ''      
  如果时间部分为0,则忽略,只返回日期部分.      
*/        
function formatDate(v){         
  if(typeof v == 'string') v = parseDate(v);         
  if(v instanceof Date){         
    var y = v.getFullYear();         
    var m = v.getMonth() + 1;         
    var d = v.getDate();         
    var h = v.getHours();         
    var i = v.getMinutes();         
    var s = v.getSeconds();         
    var ms = v.getMilliseconds();            
    if(ms>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s + '.' + ms;         
    if(h>0 || i>0 || s>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s;         
    return y + '-' + m + '-' + d;         
  }         
  return '';         
}   
 
分享到:
评论

相关推荐

    JavaScript中常见的字符串操作函数及用法

    字符串转换是最基础的要求和工作,你可以将任何类型的数据都转换为字符串。你可以用下面三种方法的任何一种: * 使用 `toString()` 方法:`var num = 19; var myStr = num.toString(); // "19"` * 使用 `String()` ...

    js把字符串转换成变量

    在JavaScript(JS)中,将字符串转换为变量是一项常见的任务,尤其在动态编程或处理用户输入时。在JavaScript中,有几种方法可以实现这个目标,主要涉及到`eval()`函数、`window[]`对象以及`new Function()`构造函数...

    JavaScript字符串函数大全

    根据提供的文件信息,这里将详细解释与JavaScript字符串相关的函数,并补充一些缺失或不清晰的部分,以便更好地理解每个函数的功能及用法。 ### JavaScript字符串函数大全 #### 1. Asc(x) - **功能**:返回字符的...

    js日期字符串互转

    `Date.parse()`函数将字符串转换为毫秒值,因此我们可以直接用减法来比较两个日期: ```javascript if (startDate ) { // startDate 在 endDate 之前 } ``` 或者在给定的代码中: ```javascript if (Date....

    常用字符串处理函数-求子字符串,字符串分割,编码转换.

    例如,将字符串转换为UTF-8编码的二进制数据: ```javascript let encoder = new TextEncoder(); let data = encoder.encode('Hello world'); ``` 反过来,将UTF-8编码的二进制数据转换回字符串: ```javascript ...

    时间字符串转换成日期对象datetime的方法

    您可能感兴趣的文章:sql语句中如何将datetime格式的日期转换为yy-mm-dd格式将WMI中的DateTime类型转换成VBS时间的函数代码LINQ字符串向datetime 转换时失败的处理方法Sql中将datetime转换成字符串的

    javascript转换日期字符串为Date日期对象的方法.docx

    很多时候,我们需要将用户输入或其他来源得到的日期字符串转换为 `Date` 对象,以便进行进一步的计算或操作。本文将详细介绍几种常用的转换方法,并提供示例代码帮助理解。 #### 方法一:手动解析 这种方法适用于...

    js中的json对象和字符串之间的转化

    2. **字符串与JSON对象之间的转化**:JavaScript提供了两个内置函数来实现这种转化:`JSON.stringify()`用于将JavaScript对象转换为JSON字符串,`JSON.parse()`用于将JSON字符串转换回JavaScript对象。 **描述中的...

    分割字符串函数 分割字符串函数

    它们可以方便地将大字符串转换为可操作的数据结构,进而进行进一步的分析和处理。 了解了这些基本知识后,我们还可以探讨一些高级用法,比如限制返回的子字符串数量、使用正则表达式进行复杂分割、处理空白字符等等...

    PHP和JS字符串处理函数.pdf

    `JSON.stringify()`用于将JavaScript对象或值转化为JSON字符串,而`JSON.parse()`则可以将JSON格式的字符串解析成JavaScript对象。这两个函数在数据交换和存储中扮演着重要角色。 `escape()`和`unescape()`是...

    js字符串截取函数slice、substring和substr的比较

    本文将对JavaScript字符串截取的三个主要函数slice()、substring()和substr()进行详细的比较和分析,以帮助开发者更好地理解和掌握它们在实际编程中的应用。 首先,我们来看slice()函数。slice()函数用于从已有的...

    js eval函数使用,js对象和字符串互转实例.docx

    2. **将字符串转换为对象**:使用`JSON.parse()`方法来完成。 **示例**: ```javascript // 创建一个对象 var te = new Object(); te.a = 'fff'; te.b = 100; // 将对象转换为字符串 var str = JSON.stringify(te...

    javascript字符串处理函数汇总.pdf

    以下是对标题和描述中提及的JavaScript字符串处理函数的详细说明: 1. **concat()**:这个函数用于连接两个或多个字符串,创建一个新的字符串,而不会改变原始字符串。例如: ```javascript var str1 = "Hello "; ...

    JavaScript实现字符串与日期的互相转换及日期的格式化

    要将字符串转换为日期,我们需要将字符串拆分成年、月、日等部分,并使用`Date`对象的构造函数来创建一个日期对象。文档中提供了一个名为`stringToDate`的函数,该函数接受一个格式为`yyyy-MM-dd`的字符串作为参数,...

    JS字符串false转boolean的方法(推荐)

    在JavaScript中,将字符串"false"转换为布尔值false并不是一个简单的隐式转换,因为JavaScript会把字符串"false"视作一个真值。针对这个特定问题,我们需要一个明确的方法来确保字符串"false"能被正确转换成布尔的...

    javascript将16进制的字符串转换为10进制整数hex.docx

    例如,如果想要将一个16进制字符串转换为10进制整数,则可以这样操作: ```javascript var hexStr = "FF"; var decimal = parseInt(hexStr, 16); // 结果为255 ``` #### 2. 自定义函数实现 除了使用内置函数外,...

    验证js处理字符串函数

    5. `toLowerCase()`和`toUpperCase()`:这些方法将字符串转换为小写或大写,用于大小写不敏感的比较。 6. `split([separator[, limit]])`:此方法根据指定的分隔符将字符串分割成数组。例如,`"one,two,three"....

    js-字符串的方法、模板字符串、对象的遍历.pdf

    11. `toUpperCase()` 方法:将字符串转换为大写,例如 `str.toUpperCase()`。 12. `toLowerCase()` 方法:将字符串转换为小写,例如 `str.toLowerCase()`。 13. `includes()` 方法:查看字符串中是否包含指定的字符...

Global site tag (gtag.js) - Google Analytics