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. day08作业---函数

    '''2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者.'''#学会了 原来 range(len(iter)) 是 从零到len-1 的数的组合 建新放在 ...

  2. springboot深入学习(四)-----tomcat配置、websocket

    一.更改servlet服务器 springboot中默认可以集成多种servlet容器,当引入如下依赖时: springboot默认以tomcat作为项目的servlet容器,如果用户想要替换tomc ...

  3. 创建Java程序并设置快捷提示

    1.new Java project 创建项目 2.new package 创建包,cn.com.test 3.创建Java文件 4.Java智能提示的设置 window/preference 在Au ...

  4. Le Chapitre X

    Il se trouvait dans la région des astéroïdes 325, 326, 327, 328, 329 et 330. Il commença donc par le ...

  5. Lyft Level 5 Challenge 2018 - Final Round (Open Div. 2) C. The Tower is Going Home(思维+双指针)

    https://codeforces.com/contest/1075/problem/C 题意 一个宽为1e9*1e9的矩阵中的左下角,放置一个车(车可以移动到同一行或同一列),放置一些墙,竖的占据 ...

  6. A-论文一些好的句子

    Using our techniques, task set transformation is performed by modifying the parameters related to ea ...

  7. python3.4用函数操作mysql5.7数据库

    #!/usr/bin/env python # -*- coding:utf-8 -*- # __author__ = "blzhu" """ pyt ...

  8. UVa 11542 Square (高斯消元)

    题意:给定 n 个数,从中选出一个,或者是多个,使得选出的整数的乘积是完全平方数,求一共有多少种选法,整数的素因子不大于 500. 析:从题目素因子不超过 500,就知道要把每个数进行分解.因为结果要 ...

  9. oss 上传文件夹-cloud2-泽优软件

    说明: 1. 修复同时上传多个文件夹崩溃的问题. 2. 修复阿里云(OSS)特殊文件名称无法上传的问题. 3. 文件夹MD5提供配置项(默认关闭).

  10. Simultaneous Localization and Mapping Technology Based on Project Tango

    Abstract: Aiming at the problem of system error and noise in simultaneous localization and mapping ( ...