小工具      在线工具  汉语词典  css  js  c++  java

Java 时间戳与时间字符串相互转换

Java 额外说明

收录于:43天前

Date类
 表示特定的瞬间,精确到毫秒(在java.util.Date包下)

构造方法:
public Date()
表示分配它的时间(精确到毫秒)。
public Date(long date):
创建一个日期对象,指定毫秒值         (需要将long 时间毫秒值转换成Date对象)
public void setTime(long time):
设置毫秒值
 public long getTime()
将Date--->long的毫秒值

Date---->String(格式化) String-->Date(解析)

中间的转换:使用中一个中间类:DateFormat,并且DateFormat是一个抽象类,抽象意味着不能实例化,所以应该考虑用它的子类:
      SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
 
 SimpelDateFormat的构造方法:
  public SimpleDateFormat(String pattern) :构造一个SimpleDateFormat对象,根据pattern(模式:规则)
 
  SimpleDateFormat XXX = new SimpleDateFormat("xxx年xx月xx日") ;(需要抛出异常)
         simpleDateFormat在解析文本格式的时候,里面 模式(规则)一定要和文本格式的模式一直,否则就出现PareseException
 

package com.JXWork.util;

import com.alibaba.fastjson.JSON;
import com.sun.tools.internal.xjc.reader.xmlschema.bindinfo.BIConversion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 接口说明
 *
 * @author TF12778 2019/10/9 14:36
 */
public class Utils {

    protected final Logger logger = LoggerFactory.getLogger(this.getClass());

    // Date 有个属性是fastTime,其实new一个Date的时候就是获取了当前系统的时间戳(毫秒数)

    // long数据类型后面默认加L,否则系统默认当作Integer,会报数据too larger

    // mysql中的datetime 对应 Java.util.Date

    /**
     * 时间戳转成时间字符串
     * 例如:1570599496000 转为 "2019-10-09 13:38:16"
     *
     * @param timeStamp
     * @param format 传空默认:"yyyy-MM-dd HH:mm:ss"
     * @return
     */
    public static String timeStamp2Str(long timeStamp, String format) {

        if (timeStamp <= 0) {
//            throw new ServiceException("时间戳不能为空", "500");
            System.out.print("时间戳不能为空");
            return "";
        }
        if(format == null || format.isEmpty()) {
            format = "yyyy-MM-dd HH:mm:ss";
        }
        Date date = new Date(timeStamp);
        SimpleDateFormat dateFormat = new SimpleDateFormat(format);

        return  dateFormat.format(date);
    }

    /**
     * 时间戳转成时间字符串
     * 例如: "2019-10-09 13:38:16" 转为 1570599496000
     *
     * @param dateStr "2019-10-09 13:38:16"
     * @param format 传空默认:"yyyy-MM-dd HH:mm:ss"
     * @return
     */
    public static long str2TimeStamp(String dateStr, String format) {
        if(dateStr == null || dateStr.length() == 0) {
            System.out.print("时间字符串不能为空");
            return 0l;
        }

        if(format == null || format.length() == 0) {
            format = "yyyy-MM-dd HH:mm:ss";
        }

        SimpleDateFormat dateFormat = new SimpleDateFormat(format);
        try {
            Date praseDate = dateFormat.parse(dateStr);
            long timeStamp = praseDate.getTime();
            return timeStamp;
        } catch (ParseException e1) {
            e1.printStackTrace();
        }

        return 0l;
    }
}

. . .

相关推荐

额外说明

mysql-plus 查询更新

        更新少量字段   lambda 写法            

额外说明

算法题解_密码

本周总结 文章目录 本周总结 一、密码 1.思路 2.做法: 一、密码 题目描述 网上流传一句话:“常在网上飘啊,哪能不挨刀啊~”。其实要想能安安心心地上网其实也不难,学点安全知识就可以。 首先,我们就要设置一个安全的密码。那什么样的密码才叫安全的呢?一

额外说明

day08---(08)课程大纲-章节添加删除(前端)

1、在api/chapter.js中新增接口方法 //添加章节 addChapter(chapterInfo){ return request({ url: `/eduservice/educhapter/addChapter

额外说明

Unity零基础到入门 ☀️| 基础知识入门篇章,看完就可以做游戏啦! | 寻找C站宝藏

-博客主页:https://blog.csdn.net/zhangay1998 -欢迎点赞 - 收藏 ⭐留言 - 如有错误敬请指正! -本文由 God Y.原创,首发于 CSDN- -未来很长,值得我们全力奔赴更美好美好的生活✨ ❤️寻找C站宝藏-Uni

额外说明

判断类型

public static Type GetType(string typeName) { var type = Type.GetType(typeName); if (type != null) return type; foreach (var a

额外说明

【PHP面试题48】Redis的事务?事务都有哪些注意的地方?

文章目录 一、关于事务 1.1 事务的概念和优势 1.2 Redis事务的基本用法 二、Redis事务的注意事项 2.1 使用WATCH监视关键变量 2.2 避免长时间事务 2.3 避免事务中的循环 2.4 处理事务执行结果 2.5 考虑使用管道 2.6

额外说明

React Native开发中解决Android端口被占用

一、常规方法 进入项目文件中 打开黑窗口输入:netstat -aon|findstr 5037 输入tasklist /fi 'PID eq 2464' 输入:taskkill /pid 2464 /f 验证:netstat -aon|findstr

额外说明

[Ext JS6]视图模型和数据绑定

文章目录 ViewModel 组件绑定 绑定的优先级 子组件的绑定 双向绑定 绑定和组件状态 多值绑定 绑定记录 关联绑定 绑定的选项设置 视图模型公式 开发建议 ViewModel ViewModel是一个管理数据对象的类, 它运行对它感兴趣的组件绑定

额外说明

初来乍到,多多关照(其实不是初来了^_^,Hello CSDN,我来了)

文章目录 前言 HELLO CSDN,我来了 你来自哪里?来CSDN想收获什么? Java开源项目推荐 Java学习与面试指南 设计模式 监控与诊断 编码规范 工具库 企业级开源项目 有什么事情想做很久了?还没去做的原因是什么? 总结 前言 大家好我是共

额外说明

API平台都有的Appid、Appkey、Appsecret分别是什么意思?

在日常开发中难免会遇到对接三方平台,比如文件的云存储、短信通道、认证等,在调用这些三方接口时往往需要进行先认证,认证完成之后才能够进行正常的业务处理。 appid appid通常情况下指的是一个用户的账号,表示一个企业或个人的账号。 该账号通常跟开通的商

ads via 小工具