- 浏览: 299436 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
xiebo1983:
http://sqkoo.com/mysql-function ...
DATE_FORMAT -
topbox163:
JAR包是:mysql-connector-java-5.1. ...
grails配置mysql -
独门记忆:
请问怎样在Tomcat服务器中运行该项目,进行相关的操作呢?
将JBPM4整合到web工程 -
39246302:
谢谢分享
Android之PreferenceActivity -
大柳树:
快速布局???这个PreferenceActivity是做什么 ...
Android之PreferenceActivity
http://www.blogjava.net/rrong-m/articles/281288.html
import java.text.ParseException; import java.util.Calendar; import java.util.Date; /** * 功能:计算时间 * 上月开始、上月结束、 * 本月开始、本月结束、 * 上周开始、上周结束、 * 本周开始、本周结束、 * 昨天开始、昨天结束、 * 今天开始、今天结束 * * @version 2009-12-07 * */ public class StartAndEndOfDate { public static enum DateTag { LAST_MONTH_START, LAST_MONTH_END, THIS_MONTH_START, THIS_MONTH_END, LAST_WEEK_START, LAST_WEEK_END, THIS_WEEK_START, THIS_WEEK_END, LAST_DAY_START, LAST_DAY_END, THIS_DAY_START, THIS_DAY_END, THIS_DATE }; /** * 功能:计算时间 * 上月开始、上月结束、本月开始、本月结束、 * 上周开始、上周结束、本周开始、本周结束、 * 昨天开始、昨天结束、今天开始、今天结束 * 格式:2007-06-01 00:00:00 2007-06-30 23:59:59 * 本月结束、本周结束、今天结束 都指的是当前日期时间 * 一周按照:星期一至星期天来计算 * 由于Calendar中星期是从Sunday开始算的。 * 所以上周的结束时间是这一周Calendar的start时间。 * 本周的结束时间是下一周Calendar的start时间。 * @param tag * @return String */ public static String getStartAndEndDate(DateTag tag, Date date){ String resultString; Calendar cal = Calendar.getInstance(); Date nowdate = new Date(); java.text.DateFormat formatFull = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String now = formatFull.format(nowdate); String this_date = formatFull.format(date); java.text.DateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd"); switch (tag){ case LAST_MONTH_START://上月开始 cal.add(Calendar.MONTH, -1); // cal.set(Calendar.DATE, 1); cal.set(Calendar.DAY_OF_MONTH, 1); String lastMonthStart = format.format(cal.getTime())+" 00:00:00";//上月开始(上月1号) cal.clear(); resultString = lastMonthStart; break; case LAST_MONTH_END://上月结束 cal=Calendar.getInstance(); cal.add(Calendar.MONTH, -1); cal.set(Calendar.DATE,cal.getActualMaximum(Calendar.DAY_OF_MONTH)); String lastMonthEnd = format.format(cal.getTime())+" 23:59:59";//上月结束(上月最后一天) cal.clear(); resultString = lastMonthEnd; break; case THIS_MONTH_START://本月开始 cal=Calendar.getInstance(); cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH)); // cal.add(Calendar.MONDAY,0); // cal.set(Calendar.DAY_OF_MONTH, 1); String thisMonthStart = format.format(cal.getTime())+" 00:00:00";//本月开始(本月1号) cal.clear(); resultString = thisMonthStart; break; case THIS_MONTH_END://本月结束 cal=Calendar.getInstance(); cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH)); String thisMonthEnd = format.format(cal.getTime())+" 00:00:00";//本月开始(本月1号) cal.clear(); //validate try { if(formatFull.parse(thisMonthEnd).after(nowdate)){ thisMonthEnd = now;//今天结束(即;当前时间) } } catch (ParseException e) { e.printStackTrace(); } resultString = thisMonthEnd; break; case LAST_WEEK_START://上周开始 cal=Calendar.getInstance(); cal.add(Calendar.WEEK_OF_YEAR, -1); /** * Calendar.SUNDAY 1 * Calendar.MONDAY 2 */ cal.set(Calendar.DAY_OF_WEEK, 2); // cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); String lastWeekStart = format.format(cal.getTime())+" 00:00:00";//上周开始(即:上周一) cal.clear(); resultString = lastWeekStart; break; case LAST_WEEK_END://上周结束 cal=Calendar.getInstance(); // cal.add(Calendar.WEEK_OF_YEAR, 0); cal.set(Calendar.DAY_OF_WEEK, 1); // cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); String lastWeekEnd = format.format(cal.getTime())+" 23:59:59";//上周结束(即:上周日) cal.clear(); resultString = lastWeekEnd; break; case THIS_WEEK_START://本周开始 cal=Calendar.getInstance(); // cal.add(Calendar.WEEK_OF_YEAR, 0); cal.set(Calendar.DAY_OF_WEEK, 2); // cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); String thisWeekStart = format.format(cal.getTime())+" 00:00:00"; cal.clear(); resultString = thisWeekStart; break; case THIS_WEEK_END://本周结束 即下一周的Calendar开始时间 cal=Calendar.getInstance(); cal.add(Calendar.WEEK_OF_YEAR, 1); cal.set(Calendar.DAY_OF_WEEK, 1); String thisWeekEnd = format.format(cal.getTime())+" 23:59:59"; cal.clear(); //validate try { if(formatFull.parse(thisWeekEnd).after(nowdate)){ thisWeekEnd = now;//今天结束(即;当前时间) } } catch (ParseException e) { e.printStackTrace(); } resultString = thisWeekEnd; break; case LAST_DAY_START://昨天开始 cal = Calendar.getInstance(); // cal.add(Calendar.DAY_OF_MONTH, -1); // cal.add(Calendar.DAY_OF_WEEK, -1); cal.add(Calendar.DAY_OF_YEAR, -1); format = new java.text.SimpleDateFormat("yyyy-MM-dd"); String yesterdayStart= format.format(cal.getTime()); yesterdayStart = yesterdayStart+" 00:00:00";//昨天开始 cal.clear(); resultString = yesterdayStart; break; case LAST_DAY_END://昨天结束 cal = Calendar.getInstance(); cal.add(Calendar.DAY_OF_MONTH, -1); format = new java.text.SimpleDateFormat("yyyy-MM-dd"); String yesterdayEnd= format.format(cal.getTime()); yesterdayEnd = yesterdayEnd+" 23:59:59";//昨天结束 cal.clear(); resultString = yesterdayEnd; break; case THIS_DAY_START://今天开始 String todayStart=format.format(date)+" 00:00:00";//今天开始 resultString = todayStart; break; case THIS_DAY_END://今天结束 String todayEnd = format.format(date)+" 23:59:59";//今天开始 try { if(formatFull.parse(todayEnd).after(nowdate)){ todayEnd = now;//今天结束(即;当前时间) } } catch (ParseException e) { e.printStackTrace(); } resultString = todayEnd; break; default://没有匹配的,返回当前时间 resultString = this_date; } return resultString; } public static void main(String[] args) { Date date = new Date(); // String last_month_start = StartAndEndOfDate.getStartAndEndDate(StartAndEndOfDate.DateTag.LAST_MONTH_START); String this_month_end = StartAndEndOfDate.getStartAndEndDate(StartAndEndOfDate.DateTag.THIS_MONTH_END,date); // String last_week_start = StartAndEndOfDate.getStartAndEndDate(StartAndEndOfDate.DateTag.LAST_WEEK_START); String last_week_end = StartAndEndOfDate.getStartAndEndDate(StartAndEndOfDate.DateTag.LAST_WEEK_END,date); // String this_week_start = StartAndEndOfDate.getStartAndEndDate(StartAndEndOfDate.DateTag.THIS_WEEK_START); String this_week_end = StartAndEndOfDate.getStartAndEndDate(StartAndEndOfDate.DateTag.THIS_WEEK_END,date); // String yesterday_start = StartAndEndOfDate.getStartAndEndDate(StartAndEndOfDate.DateTag.YESTERDAY_START,date); String today_end = StartAndEndOfDate.getStartAndEndDate(StartAndEndOfDate.DateTag.THIS_DAY_END,date); System.out.println(this_month_end); } }
发表评论
-
Spring中ApplicationContext对事件的支持
2011-05-03 13:57 4968http://hi.baidu.com/holder/blog ... -
关于23种设计模式的有趣见解 --- VISITOR
2010-01-27 13:59 1399好久没发贴了。现在大家都在讨论设计模式,今天也来火一把:) 就 ... -
Java获取某月天数
2009-11-17 09:23 11508public static void main(S ... -
<logic:iterate>用法详解
2009-08-14 12:38 1958http://blog.flashtc.com/article ... -
踏踏实实工作,踏踏实实学习。
2009-06-21 23:24 987踏踏实实工作,踏踏实实学习。 -
多态方法在构造函数中的行为
2009-06-02 13:20 1151package com.payton.polymorphi ... -
类的清理顺序(方法的执行顺序)
2009-06-02 11:30 1150package com.payton.polymorphi ... -
类的执行顺序
2009-06-02 10:54 1040package com.payton.polymorphi ... -
在Eclipse上搭建Grails开发环境
2009-03-29 16:46 1505文章: http://wangcheng.iteye.com/ ... -
js中取整
2009-03-12 11:41 1468Math.ceil(x):比x大的最小值。 Mat ... -
js & asp中字符串替换
2009-03-05 14:45 3538(js中的方法) 用replace 方 ... -
js如何将对象属性key-value变成字符串输出
2009-03-05 14:40 3473<script> var asfman = { ... -
java取整和java四舍五入方法
2009-03-04 16:00 4428内容: import ... -
eclipse打开struts-config.xml编辑器
2008-12-09 09:29 2267在eclipse创建了一个java project,使用到st ...
相关推荐
在本例“例5-2 计算时间差”中,我们关注的是如何在LabVIEW中计算两个时间点之间的时间差。 在LabVIEW中,时间差的计算通常涉及时间戳的使用。时间戳是表示某一时刻的数值,可以是绝对时间(自某个固定日期以来的...
在MATLAB中,计算时间间隔差异是一个常见的任务,特别是在处理日期和时间数据时。这个话题主要涉及以下几个核心知识点: 1. **日期和时间类**: MATLAB提供了`datetime`类,用于表示日期和时间。这个类提供了丰富的...
### CTime计算时间差 在C++编程语言中,处理时间相关的操作是非常常见的需求之一,尤其是在需要计算两个时刻之间的时间差的应用场景下。本篇文章将详细介绍如何利用MFC(Microsoft Foundation Classes)中的`CTime`...
本示例——"labview计算时间输入控件与当前时间的差值,并以HH:MM:SS形式的字符串显示",旨在教你如何在LabVIEW中实现这一功能。以下是对这个知识点的详细讲解: 首先,我们需要理解LabVIEW中的时间表示。在LabVIEW...
LS-DYNA缩短计算时间的方法,用于ANSYS/LS-DYNA数值模拟时计算时间过大使用
在本文中,我们将深入探讨FFT的计算时间,以及如何根据不同的数据点数来评估其效率。 首先,我们需要理解FFT的基本原理。FFT是DFT的一种分治算法,它将一个N点的DFT分解为较小的子问题,通过递归地应用相同的操作,...
昆仑通态案例记录开始结束时间并计算时间差
根据给定的文件标题、描述、标签以及部分内容,本文将详细介绍如何在Visual C++(VC)环境下实现一个精准计算时间差的函数。 ### 一、背景介绍 在Visual C++ (VC) 开发环境中,微软并没有提供直接用于精确计算两个...
软件名称:DTCalculator v1.0┊日期时间计算器┊计算时间差或者推算时间点 软件大小:207KB 软件类型:绿色免费软件 适用平台:Windows 作 者:Meron 作者邮箱:meronmee@163.com 软件截图: 软件简介: 想想这样...
这个小工具是为了在建立MIKE水动力模型时更方便的计算时间步长和时间步数。你可以自行修改模拟开始时间和模拟结束时间,这时会自动计算出时间差;然后再分别输入天数、小时数、分钟数,这时就会将时间差转换为以秒计...
NOR的递交时间和装卸时间(LAYTIME)的计算对于租船合同双方的利益至关重要,因为这直接关系到滞期费的计算。以下是关于NOR和装卸时间计算的关键知识点: 1. NOR的递交时间: - 通常情况下,船东的义务是在抵达第...
在本本科作业中,你将学习如何使用`CTime`类来计算两个日期时间之间的差值,并以多种方式显示这个时间差。 首先,让我们了解一下`CTime`类的基本用法。`CTime`对象可以表示一个特定的日期和时间,包括年、月、日、...
预计算旋转因子可以进一步优化性能,尤其是在实时处理或嵌入式系统中。 "FFT.h"文件很可能是头文件,其中定义了FFT函数的接口,供其他模块调用。在C语言中,头文件通常包含函数声明、数据结构定义和常量声明等,...
本压缩包文件"读IO电平定时器算时间.zip_超声波模块 STM32"提供了关于如何利用STM32微控制器与超声波模块进行交互并计算时间间隔的知识。 1. 超声波模块工作原理: 超声波模块通常由发射器和接收器组成,它发送一个...
把附件放在按键精灵手机助手里面的Plugin文件夹里,在...t1 = GetNetworkTime() //获取网络时间 //自定义时间必须为字符串,格式为"yyyy-mm-dd HH:MM:SS" t2 = "2024-03-01 02:18:20" TracePrint SC.ShiJianCha(t1,t2)
### 描述:“js计算时间差js计算时间差js计算时间差js计算时间差js计算时间差js计算时间差js计算时间差js计算时间差js计算时间差” 虽然描述部分重复了“js计算时间差”这一短语,但从上下文中我们可以理解到,这段...
在这个“MPI.rar_并行计算时间”压缩包中,我们重点关注的是如何利用MPI来测量并行计算的时间性能。 MPI提供了一套标准的函数和数据类型,使得开发者可以在不同的并行计算平台上编写可移植的代码。在并行计算时间的...
《易语言源码:深入解析多次计算时间》 在编程领域,尤其是在易语言环境中,对时间的处理是一项基础且重要的任务。"易语言源码多次计算时间.rar"这个压缩包文件,显然包含了与时间计算相关的源代码,可能是为了演示...
计算,周,日,年时间段,计算时间区间问题,关于计算通话秒数