JavaScript通过Date-Mask将日期转换成字符串的方法

   本文实例讲述了JavaScript通过Date-Mask将日期转换成字符串的方法。分享给大家供大家参考。具体实现方法如下:

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

var MonthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var DayNames = [ "Sunday", "Monday", "Tueday", "Wednesday", "Thursday",
"Friday", "Saturday" ];
var ShortMths = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug",
"Sep", "Oct", "Nov", "Dec"];
var ShortDays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
var StringToDate = function (sDate, sFormat, cutOff) {
// Input: a date value as a string, it's format as a string e.g. 'dd-mmm-yy'
// Optional: a cutoff (integer) for 2 digit years.
// If no 'd' appears in the format string then the 1st of the month is assumed.
// If the year is 20 and the cut-off is 30 then the value will be converted
// to 2020; if the year is 40 then this will be converted to 1940.
// If no cut-off is supplied then '20' will be pre-pended to the year (YY).
// Output: a string in the format 'YYYY/MM/DD' or ''
// Will not attempt to convert certain combinations e.g. DMM, MDD, DDM, YYYYD.
var sParsed, fndSingle;
// sParsed will be constructed in the format 'YYYY/MM/DD'
sDate = sDate.toString().toUpperCase();
sFormat = sFormat.toUpperCase();
if (sFormat.search(/MMMM|MMM/) + 1) { // replace Mar/March with 03, etc.
sDate = sDate.replace(new RegExp('(' + ShortMths.join('|') + ')[A-Z]*', 'gi'),
function (m) {
var i = ShortMths.indexOf(m.charAt(0).toUpperCase() +
m.substr(1, 2).toLowerCase()) + 1;
return ((i < 10) ? "0" + i : "" + i).toString();
});
sFormat = sFormat.replace(/MMMM|MMM/g, 'MM');
}
if (sFormat.search(/DDDD|DDD/) + 1) { // replace Tue/Tuesday, etc. with ''
sDate = sDate.replace(new RegExp('(' + ShortDays.join('|') + ')[A-Z]*', 'gi'),'');
sFormat = sFormat.replace(/DDDD|DDD/g, '');
}
sDate = sDate.replace(/(^|D)(d)(?=D|$)/g, function($0, $1, $2) {
// single digits 2 with 02
return $1 + '0' + $2;
});
sFormat = sFormat.replace(/(^|[^DMY])(D|M)(?=[^DMY]|$)/g, function($0, $1, $2){
return $1 + $2 + $2; // replace D or M with DD and MM
});
// are there still single Ds or Ms?
fndSingle = sFormat.search(/(^|[^D])D([^D]|$)|(^|[^M])M([^M]|$)/)+1;
// do not attempt to parse, for example, 'DMM'
if ( fndSingle ) return '';
sFormat = sFormat.replace(/(^|[^Y])(YY)(?=[^Y]|$)/g, function($0, $1, $2, index) {
var tempDate = sDate.substr(0, index + 1);
tempDate += (cutOff) ? ((parseInt(sDate.substr(index + 1, 2),10) > cutOff) ? '19' : '20') : '20';
tempDate += sDate.substr(index + 1);
sDate = tempDate;
return $1 + $2 + $2;
});
sParsed = ('YYYY/MM/DD').replace(/YYYY|MM|DD/g, function(m){
return (sFormat.indexOf(m) + 1) ?
sDate.substr(sFormat.indexOf(m), m.length) : '';
});
if (sParsed.charAt(0) == '/') {
// if no year specified, assume the current year
sParsed = (new Date().getFullYear()) + sParsed;
}
if (sParsed.charAt(sParsed.length - 1) == '/') {
// if no date, assume the 1st of the month
sParsed += '01';
}
// should end up with 10 characters..
return ( sParsed.length == 10 ) ? sParsed : '';
};

  希望本文所述对大家的javascript程序设计有所帮助。

时间: 2024-12-03 09:38:15

JavaScript通过Date-Mask将日期转换成字符串的方法的相关文章

JavaScript通过Date-Mask将日期转换成字符串的方法_javascript技巧

本文实例讲述了JavaScript通过Date-Mask将日期转换成字符串的方法.分享给大家供大家参考.具体实现方法如下: var MonthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September"

Sql中将datetime转换成字符串的方法(CONVERT)_MsSql

一.回顾一下CONVERT()的语法格式:CONVERT (<data_ type>[ length ], <expression> [, style])二.这里注重说明一下style的含义:style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式:一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varc

Sql中将datetime转换成字符串的方法(CONVERT)

一.回顾一下CONVERT()的语法格式:CONVERT (<data_ type>[ length ], <expression> [, style]) 二.这里注重说明一下style的含义:style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式:一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,var

date-如何把日期转换成不同的格式?

问题描述 如何把日期转换成不同的格式? 我从 api 服务器中获取一些数据,包含数据和数据格式2013-09-06T14:15:11.557. 这是什么格式呢?如何把这个数据格式转换为2013 sept 06 2:15 我使用下面2中方法来转换日期格式 public static Date stringToDate(String dateString) { Date date = null; DateFormat df = new SimpleDateFormat(Constants.DATE_

js-文本框里的日期转换成天数?

问题描述 文本框里的日期转换成天数? 就像图片一样 有俩个文本框 截止-起算=天数 有日历挂件 如果要转换的话 是不是跟下面的代码没关系 //显示当前日期 var d = new Date(); var s2 = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate(); $('#EntTime30').val(s2); //显示截止日期 var d = new Date(); var s1 = d

hibernate的Criteria查询有没有可以把日期转换成string进行比较的方法?

问题描述 hibernate的Criteria查询有没有可以把日期转换成string进行比较的方法? 我要实现类似to__char(date,'yyyy-mm-dd') like '2016-04%'的比较,但是不知道DetachedCriteria中应该怎么写才能实现?

php strtotime 将日间日期转换成时间时间戳

/*  将日间日期转换成时间时间戳  strtotime(time,now)参数 描述  time 规定要解析的时间字符串.  now 用来计算返回值的时间戳.如果省略该参数,则使用当前时间.    <?php  echo strtotime("now"), " ";  echo strtotime("10 September 2000"), " ";  echo strtotime("+1 day"

php日期转时间戳,指定日期转换成时间戳_php技巧

写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储.处理方便,但是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么自如,所以有的时候需要互相转换,下面给出互相转换的几种转换方式. 一.在MySQL中完成 这种方式在MySQL查询语句中转换,优点是不占用PHP解析器的解析时间,速度快,缺点是只能用在数据库查询中,有局限性. 1. UNIX时间戳转换为日期用函数: FROM_UNIXTIME() 一般形式:selec

JavaScript实现将UPC转换成ISBN的方法

  本文实例讲述了JavaScript实现将UPC转换成ISBN的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (indexisbn.indexOf("978") == 0) { isbn = isbn.substr(3,9); var xsum = 0; var add = 0; var i = 0; for (i = 0; i < 9; i++) { add = isbn.substr(i,1