日期处理方法

//格式化日期:yyyy-MM-dd   

function formatDate(date) {   
  var myyear = date.getFullYear();  
  var mymonth = date.getMonth()+1;  
  var myweekday = date.getDate();   
    
  if(mymonth < 10){  
    mymonth = "0" + mymonth;  
  }   
  if(myweekday < 10){  
    myweekday = "0" + myweekday;  
  }  
  return (myyear+"-"+mymonth + "-" + myweekday);   
}   
  
//获得某月的天数  
function getMonthDays(paraYear,paraMonth){  
  var monthStartDate = new Date(paraYear, paraMonth, 1);   
  var monthEndDate = new Date(paraYear, paraMonth + 1, 1);   
  var  days  =  (monthEndDate  -  monthStartDate)/(1000  *  60  *  60  *  24);   
  return  days;   
}   
  
//获得某周的开始日期  
function getWeekStartDate(paraYear,paraMonth,paraDay,paraDayOfWeek) {   
  var weekStartDate = new Date(paraYear, paraMonth, paraDay + 1 - paraDayOfWeek);   
  return formatDate(weekStartDate);  
}   
  
//获得某周的结束日期  
function getWeekEndDate(paraYear,paraMonth,paraDay,paraDayOfWeek) {   
  var weekEndDate = new Date(paraYear, paraMonth, paraDay + (7 - paraDayOfWeek));   
  return formatDate(weekEndDate);  
}   
  
//获得某月的开始日期  
function getMonthStartDate(paraYear,paraMonth){  
  var monthStartDate = new Date(paraYear, paraMonth, 1);   
  return formatDate(monthStartDate);  
}  
  
//获得某月的结束日期  
function getMonthEndDate(paraYear,paraMonth){
  var monthEndDate = new Date(paraYear,paraMonth, getMonthDays(paraYear,paraMonth));   
  return formatDate(monthEndDate);  
}   

//获得上月开始时间 
function getLastMonthStartDate(paraYear, lastMonth){ 
  var lastMonthStartDate = new Date(paraYear, lastMonth, 1); 
  return formatDate(lastMonthStartDate);  
}  

//获得上月结束时间 
function getLastMonthEndDate(paraYear, lastMonth, lastMonth){ 
  var lastMonthEndDate = new Date(paraYear, lastMonth, getMonthDays(lastMonth)); 
  return formatDate(lastMonthEndDate);  
} 
  
//获得某季度的开始日期  
function getQuarterStartDate(paraYear,paraSeason){  
  switch (paraSeason){  
    case ‘1‘ : return paraYear+"-01-01";
    case ‘2‘ : return paraYear+"-04-01";
    case ‘3‘ : return paraYear+"-07-01";
    case ‘4‘ : return paraYear+"-10-01";
  }
}  
  
//获得某季度的结束日期  
function getQuarterEndDate(paraYear,paraSeason){  
  switch (paraSeason){  
  case ‘1‘ : return paraYear+"-03-31";
  case ‘2‘ : return paraYear+"-06-30";
  case ‘3‘ : return paraYear+"-09-30";
  case ‘4‘ : return paraYear+"-12-31";
  } 
}

  //获取某年某周的开始日期
function getBeginDateOfWeek(paraYear, weekIndex){
  var firstDay = GetFirstWeekBegDay(paraYear);
  //7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒)
  var time=(weekIndex-1)*7*24*3600000;
  var beginDay = firstDay;
  //为日期对象 date 重新设置成时间 time
  beginDay.setTime(firstDay.valueOf()+time);
  return formatDate(beginDay);
}

  //获取某年某周的结束日期
function getEndDateOfWeek(paraYear, weekIndex){
  var firstDay = GetFirstWeekBegDay(paraYear);
  //7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒)
  var time=(weekIndex-1)*7*24*3600000;
  var weekTime = 6*24*3600000;
  var endDay = firstDay;
  //为日期对象 date 重新设置成时间 time
  endDay.setTime(firstDay.valueOf()+weekTime+time);
  return formatDate(endDay);
}

  //获取日期为某年的第几周
function GetWeekIndex(dateobj) {
  var firstDay = GetFirstWeekBegDay(dateobj.getFullYear());
  if (dateobj < firstDay) {
   firstDay = GetFirstWeekBegDay(dateobj.getFullYear() - 1);
  }
  d = Math.floor((dateobj.valueOf() - firstDay.valueOf()) / 86400000);
  return Math.floor(d / 7) + 1; 
}

  //获取某年的第一天
function GetFirstWeekBegDay(year) {
  var tempdate = new Date(year, 0, 1);
  var temp = tempdate.getDay();
  if (temp == 1){
    return tempdate;
  }
  temp = temp == 0 7 : temp;
  tempdate = tempdate.setDate(tempdate.getDate() + (8 - temp));
  return new Date(tempdate); 
}
时间: 2024-11-02 00:38:25

日期处理方法的相关文章

solr和java时区时间日期转化方法

我们一般得到的时间为当地时区的时间,而我存储到服务器上时想得到格林威治时间(GMT)和世界协调时间(UTC).一种是通过时间差计算:目标时区时间+时区差=本时区的时间.另一种则是通过设置时区不过要调用set方法,在多线程情况下调用set会发生错误,所以最好使用第一种: 第一种代码: package com; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; public cla

JS中如何将字符串转化成日期 日期格式化方法

<!--     /**     * 对Date的扩展,将 Date 转化为指定格式的String     * 月(M).日(d).12小时(h).24小时(H).分(m).秒(s).周(E).季度(q) 可以用 1-2 个占位符     * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)     * eg:     * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-0

日期工具方法

项目中经常需要处理日期,下面就常用日期处理方法进行总结统计: 1.判断是否是闰年 1 public boolean isLeapYear(int year) { 2 return ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)); 3 } 2.根据年和月份计算这个月的最后一天 1 protected int getLastDayOfMonth(int monthNum, int year) { 2 3 switch (mon

javascript日期格式化方法汇总

本文给大家汇总介绍了javascript格式化日期时间的几种常用方法,个人对最后一种个性化输出时间比较有兴趣,基本上只要项目中能用到都是使用这种,推荐给小伙伴们. 方法一: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S

Objective-C日期相关工具方法

//date根据formatter转换成string +(NSString*)dateToString:(NSString *)formatter date:(NSDate *)date { NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:formatter]; return[dateFormatter stringFromDate:date]; } //s

java按文件大小、名称、日期排序方法

代码如下: //java按文件大小.名称.日期排序 //java按文件大小.名称.日期排序方法 import java.io.*; import java.util.*; public class FileOrder{ //按照文件大小排序 public static void orderByLength(String fliePath) { List< File> files = Arrays.asList(new File(fliePath).listFiles()); Collectio

Java 获取指定日期的方法总结 -转

格式化日期 String-->Date  或者 Data-->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");    Date  date = sdf.parse("2009-11-04");//String-->Date String  sdate  = sdf.format(date );// Data-->String ==================

Map:比较新增加日期的和需要删除的日期 使用方法

1.场景描述:根据在日历选择的日期,数据库来保持我们选择日期. 2.方法,硬删除的方法,每次全部删除,然后再重新添加选择的新的日期.这样导致如果需要保存create_time的情况,那么每次操作的都是最新的create_time 3.思路,只要动态发生变化的才需要进行添加,或删除.如: 3.1 20150125,20150126,20150127, 3.2 20150124,20150125,20150126,(新增一个20150124,删除一个20150127,中间的20150125,2015

spingmvc 返回json数据日期格式化方法

第一种: json 用的是这个依赖 <!-- JSON lib 开发包 以及它的依赖包 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.6.0</version> </dependency> 在springmvc返回j

Oracle数据库日期过滤方法性能比较

在开发SQL时,过滤日期段是经常遇到的情况,如何高效的过滤出日期段?本文通过实验进行验证: 方法一.通过to_char将日期转换成字符串进行比较 to_char(cr.contractenddate, 'YYYY-MM-DD') >= '2014-11-13' and to_char(cr.contractenddate, 'YYYY-MM-DD') <= '2015-11-19' 耗时:0.171s 方法二.通过to_date将字符串转换成日期进行比较 cr.contractenddate