`
hojor
  • 浏览: 109232 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript 日期<---->字符串 转换函数

阅读更多

 

/*将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时间日期操作实例小结【5个示例】

    `toLocaleString()`方法可以按照本地时间格式化日期,而`toISOString()`则返回ISO 8601格式的日期时间字符串。如果需要自定义格式,可以使用`getFullYear()`、`getMonth()`等方法组合起来构建字符串。 5. 增加或...

    中文乱码问题解决.docx

    这个方法的思路是将接收到的ISO-8859-1编码的字符串转换为UTF-8编码。在Java中,可以使用`getBytes()`和`new String()`来完成这个过程。但是,问题描述中提到,使用这种方法后,后台获取到的字符串仍然显示为乱码。...

    JavaScript字符串函数大全

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

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

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

    js字符串日期yyyy-MM-dd转化为date示例代码

    最近遇到一个问题,就是获取表单中的日期往后台通过json方式传的时候,遇到Date.parse(str)函数在ff下报错: NAN 找了些资料,发现是由于Date.parse()函数对日期格式有要求:详细参考 Date.parse函数 对于js操作日期: ...

    javascript经典特效---字符串的过滤2.rar

    在JavaScript编程语言中,字符串过滤是一个常见的操作,它涉及到对字符串中的特定字符、子串或者按照某种规则进行筛选和处理。这个"javascript经典特效---字符串的过滤2.rar"压缩包可能包含一个关于如何高效实现字符...

    JavaScript字符串函数大全.txt

    - **功能**: 将字符串转换为全大写或全小写。 - **参数**: - `x`: 字符串。 - **示例**: - `UCase(x)` 将 `x` 转换为全大写。 - `LCase(x)` 将 `x` 转换为全小写。 ### 日期时间操作函数 #### 1. 获取当前日期...

    DWR初学者笔记,dwr入门

    例如,如果你有一个返回字符串的`hello`方法,你可以这样调用: ```javascript Test.hello(show); function show(msg) { // msg中保存了服务器返回的值,你可以在这里处理 } ``` `dwr.xml`中的DTD文档提供了更...

    javascript经典特效---字符串的过滤.rar

    - 使用`Array.filter()`方法结合字符串转换为数组:`str.split('').filter(char =&gt; char === 'a')`过滤出所有'a'字符。 - 利用`Array.map()`和`Array.join()`组合实现复杂过滤:`str.split('').map(char =&gt; char....

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

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

    Laravel开发-laravel-blade-javascript

    `json_encode()`是PHP函数,用于将PHP变量转化为JSON字符串,以便在JavaScript中使用。 有时,我们可能需要更复杂的逻辑,比如将数据注入到特定的JavaScript文件中。这时,可以使用`@section`和`@yield`配合。在父...

    JavaScript程序设计-ES之模板字符串.pdf

    不仅可以插入变量,还可以在`${}`中执行简单的JavaScript表达式,结果会被转换为字符串并插入到模板字符串中。 示例: ```javascript let num1 = 11; let num2 = 22; let result = `${num1}+${num2 * 3}=${...

    javascript实现日期选择

    - 如果传入的日期为字符串,则先将其转换为 Date 对象。 - 使用 `getFullYear()`, `getMonth()`, 和 `getDate()` 方法获取年、月、日。 - 根据不同的间隔类型进行相应的计算。 - 返回新的 Date 对象。 ##### 2. ...

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

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

    Javascript中字符串相关常用的使用方法总结

    随着ECMAScript标准的不断发展,ES6及之后版本引入了许多新的字符串处理方法,进一步增强了JavaScript字符串操作的能力: 1. **检查字符串开头或结尾** - `startsWith(searchString[, position])` 和 `endsWith...

    javascript字符串操作

    ### JavaScript字符串操作详解 在JavaScript中,字符串是用于表示文本数据的一种基本数据类型。字符串可以包含单个字符或多个字符组合成的文本序列。本文将详细介绍JavaScript中的字符串操作方法,帮助开发者更好地...

    javascript经典特效---点击显示时间.rar

    函数内,`new Date()`创建一个表示当前日期和时间的新`Date`对象,然后通过`toLocaleString()`方法将其转换为本地时间字符串。这个字符串被设置为`timeDisplay` div的`innerHTML`,从而在页面上显示出来。 总结来说...

    常用JavaScript函数 16 - 30(自我总结)

    - `toString()`:将值转换为字符串。 - `Number()`:将值转换为数字。 - `Boolean()`:将值转换为布尔值。 4. **条件判断** - `typeof`:检查变量或表达式的类型。 - `instanceof`:检查对象是否属于某个类或...

    javascript经典特效---时间日期转换.rar

    在JavaScript编程语言中,时间日期转换是一个非常常见的需求,尤其在构建动态网页或者Web应用程序时。这个主题涉及到JavaScript内置的Date对象以及相关的日期格式化方法。让我们深入探讨一下JavaScript中的时间日期...

Global site tag (gtag.js) - Google Analytics