package com.sprucetec.tms.utils;

import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; /**
* 时间工具类
*
* Title: TmsTimeUtils.java<br>
* Description: <br
*/
public class TmsTimeUtils { /**
* 根据传入的时间字符串,获得unix对应的时间戳格式
*
* @author liuqiang(liuqang@meicai.cn)
* 2016年3月12日
* @param day
* @return
*/
public static Integer getDayUnixTimeStamp(String day) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date;
try {
date = df.parse(day);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
long timestamp = cal.getTimeInMillis();
return Integer.valueOf((int) (timestamp / 1000));
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
} /**
* 将日期转换为 时间戳
* @author yangweiqiang 2016.12.01
* @param date
* @return
*/
public static Integer getDayUnixTimeStamp(Date date){
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String day = df.format(date);
return getDayUnixTimeStamp(day);
} /**
* 获取当天日期的unix时间戳
*
* @author liuqiang(liuqiang@meicai.cn)
* 2016年3月12日
* @return
*/
public static Integer getTodayUnixTimeStamp() {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
String day = df.format(date);
return getDayUnixTimeStamp(day);
} /**
* 获得当前系统时间戳
* @author liuqiang(liuqiang@meicai.cn)
* 2016年3月20日
* @return
*/
public static Integer getNowTimeStamp() {
Integer now = 0;
Long time = System.currentTimeMillis() / 1000;
now = time.intValue();
return now;
} /**
* 描述: 将秒转换为指定格式化的日期
* @author yangweiqiang
* @param timeStamp 秒数
* @param format 格式化 yyyy-MM-dd等
* @date 2016/8/15
*/
public static String getFormatDate(Integer timeStamp,SimpleDateFormat format){
return format.format(new Date(timeStamp * 1000L));
} /**
* 获取某月最大的天数
* @author yangweiqiang
* @param time 日期
* @param format 日期格式化类型
* @date 2016/8/3
* @return 实际最大天数
*/
public static int getMaxDayOfMonth(String time,SimpleDateFormat format){
try {
Date date = format.parse(time);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date); return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
} catch (ParseException e) {
e.printStackTrace();
} return 0;
} /**
* 获取昨天的时间戳
* @return
*/
public static int getPreDayByToday(Integer days){
return getTodayUnixTimeStamp() + 86400 * days;
} /**
* 获取指定天的推迟天时间戳
* @param time
* @param days
* @return
*/
public static int getPreDayBy(Integer time,Integer days){
return time + 86400 * days;
} /**
* 获取指定天的推迟天时间戳
* @param time
* @param days 增加的天数
* @return
*/
public static int getPreDayBy(String time,Integer days){
return getDayUnixTimeStamp(time) + 86400 * days;
} /**
* 根据时间戳获取日期(此日期为几号)
* @param date
* @return
*/
public static int getDayBy(Integer date){
Calendar cal = Calendar.getInstance();
cal.setTime(new Date((long)date * 1000));
return cal.get(Calendar.DAY_OF_MONTH);
} /**
* 获取上个月第一天的Unix时间戳
*/
public static Integer getLastMonthFirstDayUnixTimeStamp() {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.MONTH, -1);
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));
Date lastMonthFirstDay = cal.getTime();
return TmsTimeUtils.getDayUnixTimeStamp(lastMonthFirstDay);
} /**
* 获取上个月最后一天的Unix时间戳
*/
public static Integer getLastMonthLastDayUnixTimeStamp() {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.MONTH, -1);
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
Date lastMonthLastDay = cal.getTime();
return TmsTimeUtils.getDayUnixTimeStamp(lastMonthLastDay);
} /**
* 获取本月第一天的Unix时间戳
*/
public static Integer getThisMonthFirstDayUnixTimeStamp() {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));
Date thisMonthFirstDay = cal.getTime();
return TmsTimeUtils.getDayUnixTimeStamp(thisMonthFirstDay);
} public static void main(String[] args) {
// System.out.println(TmsTimeUtils.getDayUnixTimeStamp("2016-03-12"));
// System.out.println(TmsTimeUtils.getTodayUnixTimeStamp());
System.out.println(getLastMonthFirstDayUnixTimeStamp());
System.out.println(getLastMonthLastDayUnixTimeStamp());
System.out.println(getThisMonthFirstDayUnixTimeStamp());
}
}

TmsTimeUtils 时间戳的更多相关文章

  1. C# DateTime与时间戳转换

    C# DateTime与时间戳的相互转换,包括JavaScript时间戳和Unix的时间戳. 1. 什么是时间戳 首先要清楚JavaScript与Unix的时间戳的区别: JavaScript时间戳: ...

  2. nodejs中获取时间戳、时间差

    Nodejs中获取时间戳的方法有很多种,例如: new Date().getTime() Date.now() process.uptime() process.hrtime() 平时想获取一个时间戳 ...

  3. EF里Guid类型数据的自增长、时间戳和复杂类型的用法

    通过前两章Lodging和Destination类的演示,大家肯定基本了解Code First是怎么玩的了,本章继续演示一些很实用的东西.文章的开头提示下:提供的demo为了后面演示效果,前面代码有些 ...

  4. fmt标签把时间戳格式化日期

    jsp页面标签格式化日期 <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="f" %> ...

  5. MySQL对时间戳的转换处理

    开发中很多时候在数据库里都会存储Long类型的时间戳,而时间戳做比对会相对麻烦 我的绝决方案: SELECT FROM_UNIXTIME(LEFT(create_time,10), '%Y-%m-%d ...

  6. Kafka消息时间戳(kafka message timestamp)

    最近碰到了消息时间戳的问题,于是花了一些功夫研究了一下,特此记录一下.   Kafka消息的时间戳 在消息中增加了一个时间戳字段和时间戳类型.目前支持的时间戳类型有两种: CreateTime 和 L ...

  7. Python时间戳和日期的相互转换

    Python时间戳和日期的相互转换 (2014-03-17 11:24:35) 转载▼   分类: Python 当前时间戳:time.time() 当前日期:time.ctime() 1.Pytho ...

  8. 时间戳TimeStamp处理

     我获得这个时间戳是得想除以1000再处理的,看看你们的需要先除多少再处理 //时间戳处理 NSInteger time = timeStamp / 1000; NSNumber *timer = [ ...

  9. C#中DateTime.Ticks属性及Unix时间戳转换

    1.相关概念 DateTime.Ticks:表示0001 年 1 月 1 日午夜 12:00:00 以来所经历的 100 纳秒数,即Ticks的属性为100纳秒(1Ticks = 0.0001毫秒). ...

随机推荐

  1. Windows 8.1 app 界面设计

    大纲: Windows 应用商店应用 UI 详细信息 http://msdn.microsoft.com/zh-cn/library/windows/apps/xaml/dn263191.aspx 快 ...

  2. mybatis学习二 全局配置文件常用配置

    全局配置文件的详细解析可以参考mybatis的中文参考文档 1.全局配置文件中内容1.1 <transactionManager/> type 属性可取值1.1.1 JDBC,事务管理使用 ...

  3. Blob CLOB区别

    区别: CLOB :使用char来保存数据.例如xml文件.文章或者较长的文字. BLOB:就是使用二进制保存数据.例如保存位图.图片音乐. 联系:两者可以互相转换.或者直接用lob字段代替两者. 读 ...

  4. 整合SPRING CLOUD云服务架构 - 企业分布式微服务云架构构建

    整合SPRING CLOUD云服务架构 - 企业分布式微服务云架构构建 1.   介绍 Commonservice-system是一个大型分布式.微服务.面向企业的JavaEE体系快速研发平台,基于模 ...

  5. 前端之 js的介绍和javascript的基础使用

    一 javasvript的介绍 JavaScript概述 1 JavaScript发展史 1.1 1992年Nombas开发出C-minus-minus(--)的嵌入式的脚本语言(最初绑定在CEnvi ...

  6. presentation skills

    下面是从一个网站摘录下来的关于presentation skill需要回答的14个问题:网站的地址为:http://www.mindtools.com/pages/article/newCS_96.h ...

  7. mybatis分页插件Mybatis_PageHelper 简单案例

    源码地址(官网,文档) 使用条件: 支持mybatis 3.1.0+ sql 解析工具(jsqlparser.jar) 下载 Mybatis_PageHelper  版本随意,反正我用的5.0.0 m ...

  8. 2019.01.23 hdu3377 Plan(轮廓线dp)

    传送门 题意简述:给一个n*m的带权矩阵,求从左上角走到右下角的最大分数,每个格子只能经过最多一次,n,m≤9n,m\le9n,m≤9. 思路: 考虑轮廓线dpdpdp,但这道题并没有出现回路的限制因 ...

  9. C[a,b]向量空间中的函数的线性相关性

  10. shell常见命令

    awk awk是个很好用的东西,大量使用在linux系统分析的结果展示处理上.并且可以使用管道, input | awk ''  | output 1.首先要知道形式 awk 'command' fi ...