日期字符串_日期字符串转换 - CSDN
  • 日期字符串格式化

    千次阅读 2017-06-01 15:27:56
    SimpleDateFormat函数语法:    G 年代标志符  y 年  M 月  d 日  h 时 在上午或下午 (1~12)  H 时 在一天中 (0~23)  m 分  s 秒  S 毫秒  E 星期  D 一年中的第几天 ... a 上午 / 下午 标记符

    SimpleDateFormat函数语法:
      
      G 年代标志符
      y 年
      M 月
      d 日
      h 时 在上午或下午 (1~12)
      H 时 在一天中 (0~23)
      m 分
      s 秒
      S 毫秒
      E 星期
      D 一年中的第几天
      F 一月中第几个星期几
      w 一年中第几个星期
      W 一月中第几个星期
      a 上午 / 下午 标记符 
      k 时 在一天中 (1~24)
      K 时 在上午或下午 (0~11)
      z 时区

     

    //日期转换工具类 按照指定格式输出日期字符串
    //dateString:日期字符串
    //format:日期格式 如yyyy-MM-dd
    public static String dateFormat(String dateString,String format){
    		if(StringUtils.isEmpty(dateString))return "";
    		try {
    			Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateString);
    			String ds =  new SimpleDateFormat(format).format(date);
    			return ds;
    		} catch (ParseException e) {
    			return "";
    		}
    	}
    

    1.字符串转日期 
     
    2008-07-10 19:20:00 要把它转成日期,可以用 Date date = sdf.parse( " 2008-07-10 19:20:00 " );

    2.日期转字符串 

    假如把今天的日期转成字符串可用 String str = sdf.format(new Date());

            这个字符串内容的格式类似2008-07-10 19:20:00。

            透过这个API我们便可以随心所欲的将日期转成我们想要的字符串格式,例如希望将日期输出成2008

    年7月10日,我们可以这么写:

            SimpleDateFormat sdf =   new SimpleDateFormat( " yyyy年MM月dd日 " );

            String str = sdf.format(new Date());

            str便会依照我们设定的格式输出了。


    
    展开全文
  • 日期字符串-字符串日期

    千次阅读 2018-07-18 17:50:56
    package how2j; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; public class test05 {  public static void main(String args[]){ ... //日期字符串  ...

    package how2j;

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

    public class test05 {
        public static void main(String args[]){
            
            //日期转字符串
            /*SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date d=new Date();
            String str=sdf.format(d);
            System.out.println(str);
            */
            
            //字符串转日期
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            String str="2016/1/1 12:22:23";
            Date d = null;
            try {
                d = sdf.parse(str);
                System.out.println(d);
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
      }


     

    展开全文
  • 日期居然用字符串保存?我笑了

    千次阅读 2019-06-22 02:57:00
    我发现数据库有些日期居然用字符串保存?于是跟几个小伙伴讨论了关于数据库的日期应该要怎么保存的问题,其实我一直都建议直接用数值保存时间戳,为什么我要这么建议呢?以下,我会从...
        

    我发现数据库有些日期居然用字符串保存?于是跟几个小伙伴讨论了关于数据库的日期应该要怎么保存的问题,其实我一直都建议直接用数值保存时间戳,为什么我要这么建议呢?

    以下,我会从时区的概念来跟你们解释一下,为什么用数值保存时间戳是最好的方案,同时也为了分享出来,让更多开发小伙伴留意这些细节性的东西。

    相信时区对于很多人来说的很熟悉,因为地球是圆的,在地球上不同角落看到的太阳上升的角度都是不同的,即每个人对于时间的显示都是不一样的,

    举个例子:

    此时处于东 8 区的我们北京时间是 10 点,那么处于东 1 区的时间就是 3 点,但是他们的时间是等价的:

    "2019-06-20 10:00 +8:00" = "2019-06-20 3:00 +1:00"

    所以说,对于不同时区的人来说,显示的时间是不一样的,那么此时你是如何将将时间保存到数据中的呢?

    我姑且假设你用的是 new Date() 方法来保存当时日期,但据我所知道的,数据库的 DateTime 类型是没有时区信息的,如果你此时用 DateTime 格式保存日期,就会丢失时区信息,如果你的服务器更该地址,从数据库读出来的日期数据就是错误的!

    可能你会说,那我用 timeStamp 类型保存总不会丢失时区信息了吧?确实没丢失,没毛病。但是据我所知道的,timeStamp 保存的时间最长不能超过 2037 年,而且你要考虑每个数据的 timeStamp 类型都有可能不一样。

    至于用字符串来存储时间,就更加不推荐了,姑且不从时区来说,你比较日期大小也是个问题,我举个例子:

    to_char(SYSDATE, '2019-06-01 00:00:00') > START_TIME

    要比较一个时间大小,我需要这么做,还需要将系统时间转成字符串来给你对比,而且在转换成字符串比较时,数据库内部也会将其转换成时间来比较,你觉得这种查询条件会好到哪里去?

    我们也知道在 JDK8 中新的时间 API LocalDateTime 中,有着丰富的时区转换的方法可用,但即便你说你精通 LocalDateTime 的各种花式用法,你也不得不面对繁杂的转换。

    所以,我们需要一个拥有「绝对是时间」,来帮助我们记录日期,帮我们节省下转换的时间,这个「绝对时间」就是时间戳,时间戳的定义是从一个基准时间开始算起,这个基准时间是「1970-1-1 00:00:00 +0:00」,从这个时间开始,用整数表示,以秒计时,随着时间的流逝这个时间整数不断增加。这样一来,我只需要一个数值,就可以完美地表示时间了,而且这个数值是一个绝对数值,即无论的身处地球的任何角落,这个表示时间的时间戳,都是一样的,生成的数值都是一样的,并且没有时区的概念,所以在系统的中时间的传输中,都不需要进行额外的转换了,只有在显示给用户的时候,才转换为字符串格式的本地时间。

    而且很重要的一点就是,在现有的编程语言中,都提供了方法来获取时间戳,这对于我们不同语言的项目交互来说,不要太方便!所以在这里我强烈建议前后端关于时间的交互,都用时间戳来交互。

    这时,可能有同学又来杠一波,你用一个出数值来表示时间,我查数据库时,以我的眼力和口算,根本不知道时间是多少,我觉得这个根本不需要担心啊,你查数据库无非是查看需要的数据而已,你在 sql 里面对时间戳字段加个转换函数就好了,比如:

    from_unixtime(1561053690000)

    以上时间戳是我写这篇文章的时间。

    如果你还要继续杠,说我就是要在数据库表中看到时间,我觉得如果你要这样,为什么还需要前端,直接拿数据库当前端展示就好了。

    我总结一下数据库用数值保存时间戳的诸多好处:

    1.在数据库中日期比较不要太方便,小学一年级就会的数学题,而且性能好;2.数值对于任何系统交互来说都不存在障碍;3.基于绝对时间的数值存储,不存在时区问题;4.在交互过程中,摒弃没必要的重重转换,一个数字走天下,用户需要显示,前端只需要拿到时间戳显示正确的本地时间;5.解决了由于各个数据库对于时间实现的不一样导致的问题,比如说 Mysql 的时间函数跟 Oracle 会有一些差别,假如你现在的 sql 有某些时间函数,换了数据库很可能就会出错。

    近期热文

    我对支付平台架构设计的一些思考

    聊聊Tomcat的架构设计

    从源码的角度解析线程池运行原理

    RocketMQ消息发送的高可用设计

    深度解析RocketMQ Topic的创建机制

    RocketMQ源码分析之路由中心

    mybatis-plus源码分析之sql注入器

    钟同学,this is for you!

    Mybatis-spring源码分析之注册Mapper Bean

    基于Jenkins Pipeline自动化部署

    Dubbo服务暴露之注册地址和端口

    Dubbo全链路追踪日志的实现

    640?wx_fmt=jpeg

    长按可以订阅

    展开全文
  • 日期字符串之间的比较

    千次阅读 2016-10-21 17:25:08
    字符串比较 1 2 3 4 5 6 7 8 //字符串比较 NSString *string = @"hello nihao"; NSString *otherString = @"hello niyeyao"; if([string compare:...

    字符串比较

    1
    2
    3
    4
    5
    6
    7
    8
    //字符串比较
    NSString *string @"hello nihao";
    NSString *otherString = @"hello niyeyao";
    if([string compare:otherString] == NSOrderedAscending){
        NSLog(@"我比你大");
    }else{
        NSLog(@"我是小三");
    }

    日期比较

    1
    2
    3
    4
    5
    6
    7
    8
    //日期比较
    NSDate *nowDate = [NSDate date];
    NSDate *yesterdayDate = [[NSDate alloc] initWithTimeIntervalSinceNow:-24 * 60 * 60];
    if([nowDate compare:yesterdayDate] == NSOrderedAscending){
        NSLog(@"我是今天");
    }else{
        NSLog(@"我是我昨天");
    }

    当然这里也可以,将指定的字符串转换为时间进行比较,字符串的时间格式要跟自己设定的时间格式相对应

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     //日期比较
    NSString *nowDateString = @"2013/7/13";
    NSString *yesterdayDateString = @"2013/7/12";
    NSDateFormatter *dateFromatter = [[NSDateFormatter alloc] init];
    [dateFromatter setDateFormat:@"yy/MM/dd"];
    NSDate *nowDate = [dateFromatter dateFromString:nowDateString];
    NSDate *yesterdayDate = [dateFromatter dateFromString:yesterdayDateString];
     
    if([nowDate compare:yesterdayDate] == NSOrderedAscending){
        NSLog(@"我是今天");
    }else{
        NSLog(@"我是我昨天");
    }

    结果他的表现就是

    1
    2
    2013-07-20 18:18:03.165 寻艺[90532:c07] 我比你大
    2013-07-20 18:18:03.168 寻艺[90532:c07] 我是我昨天

    这里需要注意的就是

    NSOrderedAscending

    我们在Xcode定位的话

    会找到这样的代码

    1
    typedef NS_ENUM(NSInteger, NSComparisonResult) {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending};

    结果 跟 -1 0 1应该是一样的。


    转载:http://blog.csdn.net/wally1985/article/details/23738649

    展开全文
  • 日期字符串格式转换

    2020-01-22 10:19:08
    import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.*; import java.time.format.DateTimeFormatter; import java.util.*;...
  • //日期字符串 String str1 = "2019-01-29 00:00:00"; String str2 = "2019-02-02 00:00:00"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")...
  • JAVA字符串日期日期字符串

    万次阅读 2016-08-09 17:23:56
    JAVA字符串日期日期字符串 文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进  来!   用法: SimpleDateFormat sdf = new SimpleDateFormat( ...
  • 日期字符串&时间字符串转换成date对象 var new_date_str = '2017-07-07'.replace(/-/g, '/') var newdate = new Date(new_date_str) console.log(newdate)//可以输出对应的日期对象,注意传入字符串也...
  • Java 获取昨天日期字符串

    千次阅读 2017-03-10 15:25:18
    Java 获取昨天日期字符串获取昨天日期 - 数字格式/** * 获取昨天日期 - 数字格式 * @return yyyyMMdd */ public static Integer getYesterday() { Calendar cal = Calendar.getInstance(); cal.add(Calendar.D
  • 日期字符串转成LocalDateTime

    千次阅读 2020-08-24 21:58:04
    如果直接用LocalDateTime.parse将日期字符串转成LocalDateTime会导致报错,所以我这里提供了将日期字符串转成LocalDateTime的方法,仅供参考。 public static final String DATE_FORMAT = "yyyy-MM-dd"; public ...
  • 一、日期字符串转时间戳 // 获取当前时间戳(以s为单位) // 第一种方式 var timestamps = +new Date(); timestamps = timestamps / 1000; // 第二种方式 var timestamp = Date.parse(new Date()); ...
  • 日期字符串格式化成日期String str="201403060819"; SimpleDateFormat fo = new SimpleDateFormat("yyyyMMddHHmm");//yyyyMMddHHmm是要转化成日期的字符串的格式 Date date = new Date(); try { date = fo.parse...
  • Js去除日期字符串的时分秒

    千次阅读 2019-06-18 21:05:31
    写项目过程中,前台页面时间的时间格式是年月日时分...采用下面的方法可以更改日期字符串的时间格式: var date = "2018-08-16 00:00:00"; var newDate=/\d{4}-\d{1,2}-\d{1,2}/g.exec(date) newDate="2018-08-16"...
  • JS中日期字符串格式化

    千次阅读 2018-08-31 09:23:45
    * 如果想将日期字符串格式化,需先将其转换为日期类型Date。 在*.js文件中定义并添加过滤器: Date.prototype.format = function (format) { var date = { "M+": this.getMonth() + 1, "d+&...
  • Java里面如何把 时间戳 1477387464495 转换为 2016-10-25 17:24:24 期望格式的日期字符串。 因为业务需要,在model里面有个Date类型的字段,然后需要按这个时间类型排序。但是在后台处理完之后,返回到前台,发现...
  • Js日期字符串增加天数的方法

    千次阅读 2017-10-19 15:45:54
    //dataStr日期字符串 //dayCount 要增加的天数 //return 增加n天后的日期字符串 function dateAddDays(dataStr,dayCount) {  var strdate=dataStr; //日期字符串  var isdate = new Date
  • 日期字符串:2018-02-07 17:09 var dateString = '2018-02-07 17:09'; date = new Date(dateString.replace(/-/g, "\/")); console.trace(date, date.constructor);// Wed Feb 07 2018 17:09:00 GMT+...
  • java 日期对象与日期字符串的转换

    千次阅读 2017-04-19 21:52:58
    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;... * 将日期对象转换为指定的日期字符串 * @param date 传入的日期对象 * @param format 格式 * @retur
  • 先用parse将字符串解析成date型,再用format格式化成string。 publicstatic void main(String[] args) throws Exception{  Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2005-06-09");  String ...
  • python-datetime解析日期字符串

    千次阅读 2019-02-27 18:01:26
    python-datetime解析日期字符串
1 2 3 4 5 ... 20
收藏数 480,534
精华内容 192,213
关键字:

日期字符串