精华内容
下载资源
问答
  • 本节主要介绍了ORACLE毫秒与日期的相互转换,毫秒转换日期格式化的时间可以是12小时制24小时制
  • 获取当前时间日期,精确到微秒,时间日期字符串与时间戳相互转换,字符串转时间戳 在python里处理时间总要用到 time datetime 这两个库,有时候就很麻烦,于是我就整合了一下这两个东西,方便使用。 我这几个...

    获取当前时间日期,精确到微秒,时间日期字符串与时间戳相互转换,字符串转时间戳

    在python里处理时间总要用到 timedatetime 这两个库,有时候就很麻烦,于是我就整合了一下这两个东西,方便使用。

    我这几个函数都支持精确到微秒的转换,应该还算比较方便的了

    开箱即用,先来看看效果

    使用 / usage:


    函数 getTime():获取当前时间戳或者时间字符串,可精确到微秒,也可以只精确到秒,可手动选择

    In [1]: getTime()
    Out[1]: 1581275175.1046052
    
    
    In [1]: getTime(formatMS = False)
    Out[1]: 1581275175
    
    
    In [1]: getTime(1)
    Out[1]: '2020-02-10 03:06:15.104605'
    
    
    In [1]: getTime(1, False)
    Out[1]: '2020-02-10 03:06:15'
    

    函数 toTimeStamp():字符串 / 时间字符串转时间戳,支持精确到秒或微秒,自动判断

    In [1]: toTimeStamp('2020-02-10 03:06:15.104605')
    Out[1]: 1581275175.104605
    
    
    
    In [1]: toTimeStamp('2020-02-10 03:06:15')
    Out[1]: '1581275175'
    

    函数 toTimeString():数字时间戳转时间字符串,支持精确到秒或微秒,自动判断

    In [1]: toTimeString(1581275175)
    Out[1]: '2020-02-10 03:06:15'
    
    
    
    In [1]: toTimeString(1581275175.104605)
    Out[1]: '2020-02-10 03:06:15.104605'
    

    代码 / code:

    '''
    时间小工具函数,方便进行时间处理
    @author: PurePeace
    @time: 2020年2月10日 02:42:55
    '''
    
    import time, datetime
    
    
    # get now timeString or timeStamp
    # 获取当前时间字符串或时间戳(都可精确到微秒)
    def getTime(needFormat=0, formatMS=True):
        if needFormat != 0:
            return datetime.datetime.now().strftime(f'%Y-%m-%d %H:%M:%S{r".%f" if formatMS else ""}')
        else:
            ft = time.time()
            return (ft if formatMS else int(ft))
    
    
    # timeString to timeStamp
    # 时间字符串转时间戳(有无微秒都可)
    def toTimeStamp(timeString):
        if '.' not in timeString: getMS=False
        else: getMS=True
        timeTuple = datetime.datetime.strptime(timeString, f'%Y-%m-%d %H:%M:%S{r".%f" if getMS else ""}')
        ft = float(f'{str(int(time.mktime(timeTuple.timetuple())))}'+(f'.{timeTuple.microsecond}' if getMS else ''))
        return (ft if getMS else int(ft))
    
    
    # timeStamp to timeString
    # 时间戳转时间字符串
    def toTimeString(timeStamp):
        if type(timeStamp) == int: getMS=False
        else: getMS=True
        timeTuple = datetime.datetime.utcfromtimestamp(timeStamp+8*3600)
        return timeTuple.strftime(f'%Y-%m-%d %H:%M:%S{r".%f" if getMS else ""}')
        
    

    结束

    如果感觉好用给我点个赞吧)

    展开全文
  • Java日期解析具有微秒或纳秒精度

    千次阅读 2021-03-01 07:54:25
    这些新的转换方法已添加到旧的遗留类中. 关于java.time 要了解更多信息,请参阅Oracle Tutorial.并搜索Stack Overflow以获取许多示例说明.规格是JSR 310. 您可以直接与数据库交换java.time对象.使用符合JDBC 4.2或...

    TL;博士

    LocalDateTime.parse( // With resolution of nanoseconds, represent the idea of a date and time somewhere, unspecified. Does *not* represent a moment, is *not* a point on the timeline. To determine an actual moment, place this date+time into context of a time zone (apply a `ZoneId` to get a `ZonedDateTime`).

    "2015-05-09 00:10:23.999750900" // A `String` nearly in standard ISO 8601 format.

    .replace( " " , "T" ) // Replace SPACE in middle with `T` to comply with ISO 8601 standard format.

    ) // Returns a `LocalDateTime` object.

    不,你不能使用SimpleDateFormat来处理nanoseconds.

    但你的前提是……

    Java does not support time granularity above 07001 in its date patterns

    …从Java 8,9,10及更高版本开始,内置java.time类不再是真的.并不像Java 6和Java 7那样真实,因为大多数java.time functionality is back-ported.

    java.time

    SimpleDateFormat和相关的java.util.Date/.Calendar类现在已经过时了Java 8(Tutorial)中的新java.time软件包.

    新的java.time类支持nanosecond分辨率.该支持包括解析和生成九位数的小数秒.例如,当您使用java.time.format DateTimeFormatter API时,S模式字母表示“秒的一小部分”而不是“毫秒”,它可以处理纳秒值.

    瞬间

    例如,Instant类表示UTC中的一个时刻.其toString方法使用标准ISO 8601格式生成String对象.最后的Z表示UTC,发音为“Zulu”.

    instant.toString() // Generate a `String` representing this moment, using standard ISO 8601 format.

    2013-08-20T12:34:56.123456789Z

    请注意,捕获Java 8中的当前时刻仅限于毫秒级分辨率. java.time类可以保存以纳秒为单位的值,但只能以毫秒为单位确定当前时间.这种限制是由于Clock的实现.在Java 9及更高版本中,新的Clock实现可以以更精细的分辨率获取当前时刻,具体取决于主机硬件和操作系统的限制,根据我的经验,通常为microseconds.

    Instant instant = Instant.now() ; // Capture the current moment. May be in milliseconds or microseconds rather than the maximum resolution of nanoseconds.

    LocalDateTime

    您的示例输入字符串2015-05-09 00:10:23.999750900缺少时区指示符或UTC的偏移量.这意味着它不代表片刻,不是时间轴上的一个点.相反,它代表了全球约26-27小时范围内的潜在时刻.

    将此类输入视为LocalDateTime对象.首先,用T替换中间的SPACE以符合ISO 8601格式,在解析/生成字符串时默认使用.因此无需指定格式化模式.

    LocalDateTime ldt =

    LocalDateTime.parse(

    "2015-05-09 00:10:23.999750900".replace( " " , "T" ) // Replace SPACE in middle with `T` to comply with ISO 8601 standard format.

    )

    ;

    的java.sql.Timestamp

    java.sql.Timestamp类也处理纳秒分辨率,但是处于一种尴尬的方式.通常最好在java.time类中完成你的工作.从JDBC 4.2及更高版本开始,无需再次使用Timestamp.

    myPreparedStatement.setObject( … , instant ) ;

    并检索.

    Instant instant = myResultSet.getObject( … , Instant.class ) ;

    OffsetDateTime

    JDBC规范并未强制支持Instant,但OffsetDateTime是.因此,如果上述代码因JDBC驱动程序而失败,请使用以下代码.

    OffsetDateTime odt = instant.atOffset( ZoneOffset.UTC ) ;

    myPreparedStatement.setObject( … , odt ) ;

    并检索.

    Instant instant = myResultSet.getObject( … , OffsetDateTime.class ).toInstant() ;

    如果使用较早的4.2之前的JDBC驱动程序,则可以使用toInstant和from方法在java.sql.Timestamp和java.time之间来回切换.这些新的转换方法已添加到旧的遗留类中.

    4NSDx.png

    关于java.time

    要了解更多信息,请参阅Oracle Tutorial.并搜索Stack Overflow以获取许多示例和说明.规格是JSR 310.

    您可以直接与数据库交换java.time对象.使用符合JDBC 4.2或更高版本的JDBC driver.不需要字符串,不需要java.sql.*类.

    从哪里获取java.time类?

    >内置.

    >部分标准Java API,带有捆绑实现.

    > Java 9增加了一些小功能和修复.

    >大部分java.time功能都被反向移植到Java 6& 7月在ThreeTen-Backport.

    >更新版本的Android捆绑java.time类的实现.

    >对于早期的Android(< 26),ThreeTenABP项目适应ThreeTen-Backport(如上所述).见How to use ThreeTenABP….

    ThreeTen-Extra项目使用其他类扩展了java.time.该项目是未来可能添加到java.time的试验场.您可以在这里找到一些有用的类,例如Interval,YearWeek,YearQuarter和more.

    展开全文
  • oracle数据库对毫秒数和日期字符串进行转换毫秒数与日期字符串转换在oralce中,可以通过下面的方式,实现utc时间和日期字符串的转换--字符串转毫秒数SELECT TO_NUMBER(TO_DATE('2005-03-29 12:30:45', 'YYYY-MM-DD ...

    oracle数据库对毫秒数和日期字符串进行转换

    毫秒数与日期字符串转换

    在oralce中,可以通过下面的方式,实现utc时间和日期字符串的转换

    --字符串转毫秒数

    SELECT TO_NUMBER(TO_DATE('2005-03-29 12:30:45', 'YYYY-MM-DD HH24:MI:SS') - TO_DATE('1970-01-01 8:0:0', 'YYYY-MM-DD HH24:MI:SS')) * 24 * 60 * 60 * 1000 FROM DUAL;

    --毫秒数转字符串

    SELECT TO_CHAR(1112070645000 / (1000 * 60 * 60 * 24) + TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH:MI:SS'), 'YYYY-MM-DD HH:MI:SS') AS CDATE FROM DUAL;

    展开全文
  • Python 日期和时间戳的转换1. Python中处理时间的模块Python中处理时间的模块有time、datetimecalendar。在Python中表示时间的方式:时间戳:10位整数位若干小数位,例如 1551153156.6358607元组(struct_time): ...

    Python 日期和时间戳的转换

    1. Python中处理时间的模块

    Python中处理时间的模块有time、datetime和calendar。

    在Python中表示时间的方式:

    时间戳:10位整数位和若干小数位,例如 1551153156.6358607

    元组(struct_time):  含有9个元素的元组,例如 (tm_year=2011, tm_mon=9, tm_mday=28, tm_hour=10, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=271, tm_isdst=-1)

    格式化字符串: 格式化的时间字符串, 例如 '2019-02-26 12:45:46'

    time模块,以元组(struct_time)为核心实现时间戳和格式化时间字符串的相互转换。

    datetime模块,以datetime类实例对象为核心实现时间戳和格式化时间字符串的相互转换。

    2. Python的time模块

    time模块是通过调用C库实现的,所以在有些平台上无法使用。大部分接口和C标准库的time.h一致。

    使用time模块来进行格式化时间字符串和时间戳的相互转换。

    2.1 将时间戳转换为格式化字符串

    使用time模块获取当前时间的时间戳:

    >>> importtime>>>time.time()1551157481.034565

    将时间戳转换为元组(struct_time):

    >>>time.localtime(time.time())

    time.struct_time(tm_year=2019, tm_mon=2, tm_mday=26, tm_hour=13, tm_min=2, tm_sec=1, tm_wday=1, tm_yday=57, tm_isdst=0)

    将元组(struct_time)转换为格式化时间字符串:

    >>> time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))'2019-02-26 13:04:41'

    2.2 将格式化字符串转换为时间戳

    将格式化时间字符串'2019-02-26 13:04:41'转换为时间戳。

    将格式化时间字符串转换为元组(struct_time):

    >>> str_time = '2019-02-26 13:04:41'

    >>> time.strptime(str_time, '%Y-%m-%d %H:%M:%S')

    time.struct_time(tm_year=2019, tm_mon=2, tm_mday=26, tm_hour=13, tm_min=4, tm_sec=41, tm_wday=1, tm_yday=57, tm_isdst=-1)

    将元组(struct_time)转换为时间戳:

    >>> time.mktime(time.strptime(str_time, '%Y-%m-%d %H:%M:%S'))1551157481.0

    2.3 使用time模块获取当前日期和时间

    使用time模块获取当前日期(使用当前时间的struct_time作为缺省参数):

    >>> time.strftime('%Y-%m-%d')'2019-02-26'

    使用time模块获取当前时间(使用当前时间的struct_time作为缺省参数):

    >>> time.strftime('%H:%M:%S')'13:21:13'

    3. Python 的datetime模块

    和time模块相比,datetime模块提供更直接易用的接口,功能也更加强大。

    datetime模块提供了处理日期和时间的类,既有简单的方式,也有复杂的方式。它虽然支持日期和时间算法,但其实现是重点是输出的格式化操作和更加有效的属性提取功能。

    3.1 datetime模块中定义的类

    datetime模块中定义的类(这些类的对象都是不可变的):

    datetime.date: 表示日期,常用的属性有year、month和day

    datetime.time: 表示时间,常用的属性有hour、minute、second和microsecond

    datetime.datetime: 表示日期时间

    datetime.timedelta: 表示两个date、time和datetime实例之间的时间间隔,最小单位可达微秒

    datetime.tzinfo: 时区相关对象的抽象基类,由time和datetime类使用

    datetime.timezone: Python3.2中新增的功能,实现tzinfo抽象基类的类,表示与UTC的固定偏移量

    3.2 使用datetime模块中的datetime类将时间戳转换为格式化时间字符串

    使用datetime类将时间戳转换为datetime实例:

    >>> importtime>>> from datetime importdatetime>>> dt =datetime.fromtimestamp(time.time())>>>dt

    datetime.datetime(2019, 2, 26, 15, 27, 28, 678923)

    将datetime实例转换为格式化字符串:

    >>> dt.strftime('%Y-%m-%d %H:%M:%S')'2019-02-26 15:27:28'

    3.3 使用datetime模块中的datetime类将格式化时间字符串转换为时间戳

    使用datetime类将格式化字符串'2019-02-26 15:27:28'转换为datetime实例:

    >>> st = '2019-02-26 15:27:28'

    >>> dt = datetime.strptime(st, '%Y-%m-%d %H:%M:%S')>>>dt

    datetime.datetime(2019, 2, 26, 15, 27, 28)

    将datetime实例转转为元组(struct_time):

    >>> tp = dt.timetuple()

    >>> tp

    time.struct_time(tm_year=2019, tm_mon=2, tm_mday=26, tm_hour=15, tm_min=27, tm_sec=28, tm_wday=1, tm_yday=57, tm_isdst=-1)

    将元组(struct_time)转换为时间戳:

    >>>time.mktime(tp)1551166048.0

    也可以直接使用datetime实例的timestamp()函数直接获取时间戳:

    >>>dt.timestamp()1551166048.0

    3.4 使用datetime类获取当前日期和时间

    使用datetime类获取当前日期:

    >>> datetime.now().date().strftime('%Y-%m-%d')'2019-02-26'

    使用datetime类获取当前时间:

    >>> datetime.now().time().strftime('%H:%M:%S')'15:48:43'

    4. 参考资料

    展开全文
  • PHP中的time()函数返回当前的Unix时间戳, 这是从 Unix时代的秒数开始...PHP函数的 microtime()更精确更精细,因为它以微秒返回当前的Unix时间戳, 我们的问题是它返回一个包含空格点的字符串,例如,如果您从PH...
  • 1年(yr)=52.1428523周(week) 1年(yr)=365天(d) 1周(week)=7天(d) 1天(d)=24时(h) 1时(h)=60分(min) 1分(min)=60秒(s) 1秒(s)=1000毫秒(ms) 1毫秒(ms)=1000微秒(μs) 1微秒(μs)=1000纳秒(ns) ...
  • 我有以下日期字符串:dtstr = '2010-12-19 03:44:34.778000'我想将它转换日期时间对象,所以我继续如下:import timefrom datetime import datetimedtstr = '2010-12-19 03:44:34.778000'format = "%Y-%m-%d %H:%M:...
  • /** * 时间格式方法 * * @param {any} timeStamp 时间戳,秒级/毫秒级 * @param {any} type 格式化时间类型,默认 Y-M-D H:I:S * @returns {string} formatTime... } } // 返回格式化的日期字符串 return formatTime; }
  • 小编典典最简单的技术是使用DateFormat:String input = "Sat Feb 17 2012";Date date = new SimpleDateFormat("EEE MMM dd yyyy", Locale.ENGLISH).parse(input);long milliseconds = date.getTime();...
  • Java常用的日期和时间格式化转换

    千次阅读 2018-09-18 18:02:33
    format()方法通过给定的特殊转换符作为参数来实现对日期和时间的格式化。 常用的日期格式化转换符 转 换 符 说 明 示 例 %te 一个月中的某一天(1~31) 2 %tb ...
  • 本篇文章是对C++中获取UTC时间精确到微秒的实现进行了详细的分析介绍,需要的朋友参考下
  • I would like to convert string date format to timestamp with microsecondsI try the following but not giving expected result:"""input string date -> 2014-08-01 04:41:52,117expected result ->...
  • Java 毫秒转换日期类型、日期转换为毫秒//毫秒转换日期public static void main(String[] args) {DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");long now = System.currentTimeMillis();...
  • ————————————————————————————————————————————#include #include #include string TimeToString(){char charFormat[30];struct timeval nowtimeval;...
  • 使用java.time,现代的Java日期和时间API。一种选择是,您可以使用格式化程序: DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss.SSSSSS"); LocalDateTime dateTime = ...
  • format()方法经过给定的特殊转换符做为参数来实现对日期和时间的格式化。java经常使用的日期格式化转换符转 换 符说 明示 例%te一个月中的某一天(1~31)算法2spa%tb指定语言环境的月份简称设计Feb(英文)、二月(中文)...
  • 我需要处理大量CSV文件,其中时间戳始终是... UNIXTIME, dtype: datetime64[ns] 但是,我想使用类似的方法pd.apply()来获取转换后的列返回的整个数据集,或者像我已经写的那样,仅在从CSV生成DataFrame时创建日期时间。
  • 慕勒3428872Java 9更高版本:捕获当前时刻时,分辨率高达纳秒。那是9位数的小数。Instant.now() 2017-12-23T12:34:56.123456789Z要限制为微秒,请截断。Instant // Represent a moment in UTC..now() // Capture...
  • (如: 04/07/10 10:43:39) %d: 日在这个月中的天数(是这个月的第几天) %f: 微秒(范围[0,999999]) %H: 小时(24小时制,[0, 23]) %I: 小时(12小时制,[0, 11]) %j: 日在年中的天数 [001,366](是当年的第几...
  • 根据SimpleDateFormat类文档,Java在其日期模式中不支持毫秒以上的时间粒度。因此,日期字符串2015-05-09 00:10:23.999750900 //最后9位数字表示纳秒通过...)毫秒,而不是毫微秒,导致日期2015-05-20 21:52:53 U...
  • 我试图将从java作业获得的时间信息与linux性能监视工具perf(具体地说是perf stat)关联起来。在使用String tstamp0 = String.valueOf(System.currentTimeMillis());...在我想做的是,将从perf stat获得的计时信息转换...
  • mysql日期转换成字符串的方法发布时间:2020-04-29 09:41:00来源:亿速云阅读:178作者:小新今天小编给大家分享的是mysql日期转换成字符串的方法,相信很多人都不太了解,为了让大家更加了解mysql日期转换成字符串...
  • 时区转换 转换数据库中已存时间的时区 CONVERT_TZ(dt ,from_tz ,to_tz ) eg SELECT now(), CONVERT_TZ (now(), '+8:00', '-8:00') as los; //时区转换也可以通过 date_add, date_sub, timestampadd 来实现 获得...
  • 让我们首先声明并初始...现在,将毫秒转换日期格式-DateFormatdateFormat=newSimpleDateFormat("ddMMMyyyyHH:mm:ss:SSSZ");Datedate=newDate(milliSeconds);以下是在Java中将毫秒转换日期格式的程序-示例import...
  • 将时间戳转化成时间格式(微秒转化成时间) 函数:FROM_UNIXTIME(unix_timestamp,format) FROM_UNIXTIME 作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示 返回表示 Unix 时间标记的一个字符串,根据...
  • I have a string as Julian date like "16152" meaning 152'nd day of 2016 or "15234" meaning 234'th day of 2015.How can I convert these Julian dates to format like 20/05/2016 using Python 3 standard libr...
  • (如: 04/07/10 10:43:39) %d: 日在这个月中的天数(是这个月的第几天) %f: 微秒(范围[0,999999]) %H: 小时(24小时制,[0, 23]) %I: 小时(12小时制,[0, 11]) %j: 日在年中的天数 [001,366](是当年的第几...
  • MySQL datediff(date1,date2):两个日期相减 date1 - date2,返回天数。select datediff('2008-08-08', '2008-08-01'); -- 7select datediff('2008-08-01', '2008-08-08'); -- -7一、MySQL 获得当前日期时间 函数1.1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,241
精华内容 5,696
关键字:

日期和微秒转换

友情链接: ScientificComputing.rar