• 的不太理想,回来查了查,发现将时间转换为毫秒数的方法有四个: Date.parse() Date.UTC valueOf() getTime()  1. Date.parse():该方法接受一个表示日期的字符串参数,然后尝试根据这个日期返回日期的毫秒...

    的不太理想,回来查了查,发现将时间转换为毫秒数的方法有四个:

    Date.parse()
    Date.UTC

    valueOf()
    getTime() 

    1. Date.parse():该方法接受一个表示日期的字符串参数,然后尝试根据这个日期返回日期的毫秒数。ECMA-262没有定义该方法支持哪种日期格式,因此这个方法的行为因为浏览器实现而异。如果传入字符串不能表示日期,那么它会返回NaN。该方法返回的毫秒值后三位全为0,精确到秒数,没有毫秒数。

    Date.parse("2012年9月9日")
    NaN
     
    Date.parse("2012 9 9")
    1347120000000
     
    // 毫秒数转换为日期格式
    new Date(Date.parse("2012 9 9"))
    Sun Sep 09 2012 00:00:00 GMT+0800 (中国标准时间)

    2. Date.UTC(): 该方法也返回表示日期的毫秒数,但是该方法接受的参数是年份、基于0的月份、月份中的哪一天、小时数、分钟、秒以及毫秒。这些参数中只有前两个参数是必需的。

    Date.UTC(12)
    NaN
     
    Date.UTC(2013,4,11);
    1368230400000

    3.  valueOf(): 该方法返回日期的毫秒表示,可以方便时间的比较,该方法返回的毫秒数精确到毫秒。

    var date = new Date();
    date.valueOf();
    1368283579633

    4. getTime(): 返回表示日期的毫秒数,与valueOf()返回的值相同,也精确到毫秒数。

    var date = new Date();
    date.getTime();
    1368283691951
    展开全文
  • Swift 获取当前时间戳 (秒级,毫秒级) 经常见到有人将 秒级 时间戳 以 Int 类型直接 *1000 来获取毫秒,这样的结果最后的3位数字都是0,获取到的结果不够精确。所以获取毫秒级时间戳有另外一种方式。 创建一个 ...

    Swift 获取当前时间戳 (秒级,毫秒级)

    经常见到有人将 秒级 时间戳 以 Int 类型直接 *1000 来获取毫秒,这样的结果最后的3位数字都是0,获取到的结果不够精确。所以获取毫秒级时间戳有另外一种方式。

    创建一个 Date 的 Extension,代码如下

        extension Date {
    
        /// 获取当前 秒级 时间戳 - 10位
        var timeStamp : String {
            let timeInterval: TimeInterval = self.timeIntervalSince1970
            let timeStamp = Int(timeInterval)
            return "\(timeStamp)"
        }
    
        /// 获取当前 毫秒级 时间戳 - 13位
        var milliStamp : String {
            let timeInterval: TimeInterval = self.timeIntervalSince1970
            let millisecond = CLongLong(round(timeInterval*1000))
            return "\(millisecond)"
        }
    }

    使用

    
     let millisecond = Date().milliStamp
     print("当前毫秒级时间戳是 millisecond == ",millisecond)
     let timeStamp = Date().timeStamp
     print("当前秒级时间戳是 timeStamp == ",timeStamp)
    
    /** 
        输出结果
        当前毫秒级时间戳是 millisecond ==  1524801851988
        当前秒级时间戳是 timeStamp ==  1524801851
    */
    
    展开全文
  • swift 时间时间戳获取及相互转换 2.获取当下时间戳&时间 let now = NSDate()  let timeInterval:NSTimeInterval = now.timeInterva

    1.时间戳(time stamp)

                     时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数


    2.获取当下时间戳&时间

            let now =NSDate()

            let timeInterval:NSTimeInterval = now.timeIntervalSince1970

            let timeStamp =Int(timeInterval)

            print("当前时间的时间戳:\(timeStamp)")


            let dateformatter =NSDateFormatter()

            dateformatter.dateFormat ="yyyyMMdd HH:mm:ss"

            print("当前日期时间:\(dateformatter.stringFromDate(now))")


    3.时间转时间戳

          let datefmatter =NSDateFormatter()

            datefmatter.dateFormat="yyyyMMdd HH:mm:ss"

            let date = datefmatter.dateFromString("20160515 00:00:00")

            let dateStamp:NSTimeInterval = date!.timeIntervalSince1970

            let dateStr:Int =Int(dateStamp)

            print(dateStr)//时间转换的时间戳


    4.时间戳转时间

            //时间戳

            let timeStamp =1463241600

            //转换为时间

            let timeInterval:NSTimeInterval =NSTimeInterval(timeStamp)

            let date = NSDate(timeIntervalSince1970: timeInterval)

            let dateformatter = NSDateFormatter()

            dateformatter.dateFormat ="yyyyMMdd HH:mm:ss" //自定义日期格式

            let time = dateformatter.stringFromDate(date)

            print("对应时间:"+time)


           /*

                     持续完善更新中...

           */



    展开全文
  • Swift5:Date->String思路: 1.实例化一个DateFormatter对象 2.根据项目需求修改这个对象的属性 3.用这个对象的string方法,放入想要转化的日期或时间(Date类型) 最基本的用法: 指定dateFormat属性 let ...

    Swift5:Date->String思路:

    1.实例化一个DateFormatter对象

    2.根据项目需求修改这个对象的属性

    3.用这个对象的string方法,放入想要转化的日期或时间(Date类型)

    最基本的用法:

    指定dateFormat属性

    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy年MM月dd日 HH时mm分ss秒"
    print(dateFormatter.string(from: Date())) //2019年05月10日 22时22分22秒
    复制代码

     

    中级用法:

    指定dateStyle或timeStyle属性+locale属性

    let dateFormatter = DateFormatter()
    //dateStyle和timeStyle默认都是none,两者至少有一个
    dateFormatter.dateStyle = .medium
    dateFormatter.timeStyle = .short
    //改成中文
    dateFormatter.locale = Locale(identifier: "zh_CN")
    print(dateFormatter.string(from: Date())) //2019年5月10日 下午10:22
    复制代码

    dateStyle(medium和long对中文来说没区别):

    .short // 2019/5/10
    .medium // 2019年5月10日
    .long // 2019年5月10日
    .full // 2019年5月10日 星期五
    复制代码

    timeStyle:

    .short // 下午10:22
    .medium // 下午10:22:22
    .long // GMT+8 下午10:22:22
    .full // 中国标准时间 下午10:22:22
    复制代码

    一般来说都选.medium就够用了

     

    高级用法:

    上述dateStyle和timeStyle无法满足项目需求的话,可以设定一个本地化模板。 这样以后所有用这个dateFormatter转化的date都会遵循这个模板的格式:

    let dateFormatter = DateFormatter()
    dateFormatter.locale = Locale(identifier: "zh_CN")
    dateFormatter.setLocalizedDateFormatFromTemplate("H")
    print(dateFormatter.string(from: Date())) // 22时
    print(dateFormatter.string(from: Date(timeIntervalSinceReferenceDate: 410220000))) // 6时
    复制代码

     

    关于yyyy-MM-dd等unicode的标准日期格式可以参考这里:

    www.unicode.org/reports/tr3…

     

    广告时间:小弟的iOS12零基础视频教程(每章皆可试听):

    m.study.163.com/provider/48…

    展开全文
  • swift:计算时间差

    2017-12-21 15:12:03
    //获取日期差,yyyy-MM-dd HH:mm:ss格式 func intervalSinceNow(_ fromdate: ...Date) -> String{  let format = DateFormatter.init()  format.dateFormat = "yyyy-MM-dd HH:mm:ss"    let fromZone =

    //获取日期差,yyyy-MM-dd HH:mm:ss格式

    func intervalSinceNow(_ fromdate: Date) -> String{

        let format = DateFormatter.init()

        format.dateFormat = "yyyy-MM-dd HH:mm:ss"

        

        let fromZone = TimeZone.current

        let fromInterval = fromZone.secondsFromGMT(for: fromdate)

        let fromDate = fromdate.addingTimeInterval(Double(fromInterval))

        

        let adate = Date()

        let zone = TimeZone.current

        let interval = zone.secondsFromGMT(for: adate)

        let localeDate = adate.addingTimeInterval(Double(interval))

        

        let interValTime = fromDate.timeIntervalSinceReferenceDate - localeDate.timeIntervalSinceReferenceDate

        let lTime = fabs(interValTime)

        

        let iSeconds = Int(lTime.truncatingRemainder(dividingBy: 60))

        let iMinutes = Int((lTime / 60) / 60)

        let iHours = Int(fabs((lTime / 3600).truncatingRemainder(dividingBy: 24)))

        let iDays: Int = Int(lTime / 60 / 60 / 24);

        //    let iMonth = Int(lTime / 60 / 60 / 24 / 12);

        //    let iYears = Int(lTime / 60 / 60 / 24 / 384);

        var timeString = ""

        if (iHours<1 && iMinutes>0)

        {

            timeString = "\(iMinutes) \(locationTextValue("mins", str_cht: "分", str_chs: "分"))"

        }else if (iHours>0&&iDays<1 && iMinutes>0) {

            timeString = "\(iHours) \(locationTextValue("hour", str_cht: "時", str_chs: "時")) \(iMinutes) \(locationTextValue("mins", str_cht: "分", str_chs: "分"))"

        }

        else if (iHours>0&&iDays<1) {

            timeString = "\(iHours) \(locationTextValue("hour", str_cht: "時", str_chs: "时"))"

            

        }else if (iDays>0 && iHours>0)

        {

            timeString = "\(iDays) \(locationTextValue("day", str_cht: "天", str_chs: "天")) \(iHours) \(locationTextValue("hour", str_cht: "時", str_chs: "時"))"

            

        }

        else if (iDays>0)

        {

            timeString = "\(iDays) \(locationTextValue("Day", str_cht: "天", str_chs: "天"))"

            

        } else {

            timeString = "\(iSeconds) \(locationTextValue("seconds", str_cht: "秒", str_chs: "秒"))"

        }

        return timeString

    }

    展开全文
  • 时间戳成字符串 //时间戳成字符串 func timeIntervalChangeToTimeStr(timeInterval:Double, _ dateFormat:String? = "yyyy-MM-dd HH:mm:ss") -> String { let date:NSDate = NSDate.init...
  • //时间戳成字符串 func timeIntervalChangeToTimeStr(timeInterval:TimeInterval, dateFormat:String?) -&gt; String { let date:NSDate = NSDate.init(timeIntervalSince1970: timeInterval/1000) ...
  • 参考:... /** 时间Date、日历 */ import UIKit class LYBCalenderAndDateExtention: NSObject { ... // 获取当前系统时间,转换成字符串 func dateTodateStr(date:Date)-&gt;(String)...
  • 在我们开发中,我们经常会遇到将指定时间转为时间戳,下面就是时间时间戳,-方法或者+方法都可以 /** 字符串时间戳 如:2017-4-10 17:15:10 @param time 时间 @return 时间戳 */ - (NSString *)...
  • -(NSString*) timeOffsetSeconds:(uint64_t) time offsetSeconds:(long) offsetSeconds format:(NSString*) format {    NSTimeInterval seconds = (time + offsetSeconds*1000)/1000;  NSDate *
  • Swift获取当前时间

    2018-12-17 12:28:45
    extension Date { static func getCurrentTime() -&amp;gt; Int64 { let now = Date() let timeInterval: TimeInterval = now.timeIntervalSince1970 return Int64(timeInterval) ...
  • iOS 时间戳 毫秒 微秒

    2016-08-10 10:39:00
    首先 [[NSDate date] timeIntervalSince1970] 是可以获取到后面的毫秒 微秒的 ,只是在保存的时候省略掉了, 如一个时间戳不省略的情况下为 1395399556.862046 ,省略掉后为一般所见 1395399556 。所以想取得
  • var calendar:Calendar = Calendar.current; var now = Date(); var year = calendar.component(.year, from: now); var month = calendar.component(.month, from: now); var...
  • 昨晚收到一个用户反馈,明明是2019年10月30号充值,结果充值...后端返回的时间是‘2019-10-30T20:41:15.603’,前端用的是new Date()去转换。转换后getDate()出日期在ios上直接多了一天,30号变成31号。(废话时间结...
  • 做项目时,后台给返回的数据是 毫秒 这样就需要转换时间搓 变成我们需要的样式,如:2016年8月30日 11:18 OC: swift: 这样就会转换成我们想要的样式。 1.把获取的时间转换成当前时间 NSDate *...
  • + (NSDate )currentDateByPreviousDate:(NSDate )date{// 获得系统时区 NSTimeZone *zone = [NSTimeZone systemTimeZone];//得到源日期与世界标准时间的偏移量 NSInteger interval = [zone secondsFrom
  • xcode中打印毫秒时间

    2012-05-10 16:30:39
    直接打印[NSDate date]得到的是精确到秒的时间, 下面的方法可以打印精确到毫秒的时间。 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];  [dateFormatter setDateStyle:...
  • Swift时间时间戳 //MARK: -根据当前时间转为时间戳 func timeToTimeStamp(time: String) -> Double { let dfmatter = DateFormatter() dfmatter.dateFormat="yyyy年MM月dd日 HH:mm:ss" let last = dfmatter....
  • Swift简介(

    2017-12-01 17:35:10
    0.术语约定......................................................................................................................1. Swift Architectural Overview Swift架构概述........................... ..
  • ObjectMapper内置的时间转换模式有限,有时候从服务端获取的...第1步:实现协议TransformType//// HxDateTransform.swift// App//// Created by kila on 17/02/2018.// Copyright © 2018 kila. All rights rese...
1 2 3 4 5 ... 20
收藏数 423
精华内容 169