R語言日期的表示和運算(詳細總結)

?

1、取出當前日期

Sys.Date()

[1] "2014-10-29"

date() ?#注意:這種方法返回的是字符串類型

[1] "Wed Oct 29 20:36:07 2014"

2、在R中日期實際是double類型,是從1970年1月1日以來的天數

typeof(Sys.Date())

[1] "double"

3、轉換為日期

用as.Date()可以將一個字符串轉換為日期值,默認格式是yyyy-mm-dd。

as.Date("2007-02-01") ? #得到"2007-02-01",顯示為字符串,但實際是用double存儲的

as.double(as.Date("1970-01-01")) ?#結果為0,是從1970年1月1日以來的天數。

可以把定制的日期字符串轉換為日期型

as.Date("2007年2月1日", "%Y年%m月%d日")?

[1] "2007-02-01"

格式

意義

%Y

年份,以四位數字表示,2007

%m

月份,以數字形式表示,從01到12

%d

月份中當的天數,從01到31

?

?

%b

月份,縮寫,Feb

%B

月份,完整的月份名,指英文,February

%y

年份,以二位數字表示,07

4、把日期值輸出為字符串

today <- Sys.Date()

format(today, "%Y年%m月%d日")

[1] "2014年10月29日"

5、計算日期差

由于日期內部是用double存儲的天數,所以是可以相減的。

today <- Sys.Date()

gtd <- as.Date("2011-07-01") ??

today - gtd

Time difference of 1216 days ?

?

用difftime()函數可以計算相關的秒數、分鐘數、小時數、天數、周數

difftime(today, gtd, units="weeks") ?#還可以是“secs”, “mins”, “hours”, “days”

Time difference of 173.7143 weeks

?

#日期型數據
在R中自帶的日期形式為:as.Date();以數值形式存儲;
對于規則的格式,則不需要用format指定格式;如果輸入的格式不規則,可以通過format指定的格式讀入;
標準格式:
年-月-日或者年/月/日;如果不是以上二種格式,則會提供錯誤;
as.Date('23-2013-1')
錯誤于charTo按照Date(x) : 字符串的格式不夠標準明確
> as.Date('23-2013-1',format='%d-%Y-%m')
[1] "2013-01-23"

格式

意義

%d

月份中當的天數

%m

月份,以數字形式表示

%b

月份,縮寫

%B

月份,完整的月份名,指英文

%y

年份,以二位數字表示

%Y

年份,以四位數字表示

#其它日期相關函數
weekdays()取日期對象所處的周幾;
months()取日期對象的月份;
quarters()取日期對象的季度;
#POSIX類
The POSIXct class stores date/time values as the number of seconds since January 1, 1970, while the POSIXlt class stores them as a list with elements for second, minute, hour, day, month, and year, among others.
POSIXct 是以1970年1月1號開始的以秒進行存儲,如果是負數,則是1970年以前;正數則是1970年以后。
POSIXlt 是以列表的形式存儲:年、月、日、時、分、秒;
mydate = as.POSIXlt(’2005-4-19 7:01:00’)
names(mydate)
默認情況下,日期之前是以/或者-進行分隔,而時間則以:進行分隔;
輸入的標準格式為:日期 時間(日期與時間中間有空隔隔開)
時間的標準格式為:時:分 或者 時:分:秒;
如果輸入的格式不是標準格式,則同樣需要使用strptime函數,利用format來進行指定;
#生成案例數據
Dates <- c("2009-09-28","2010-01-15")
Times <- c( "23:12:55", "10:34:02")
charvec <- timeDate(paste(Dates, Times))
timeDate(charvec)
#取系統的時間
Sys.timeDate()
#一個月的第一天
timeFirstDayInMonth()
#一個月的最后一天
timeLastDayInMonth()
#一周當中第幾天
dayOfWeek()
#一年當中的第幾天
dayOfYear()

?

Sys.Date( ) returns today's date. 
date() returns the current date and time.
# print today's date
today <-Sys.Date()
format(today, format="%B %d %Y")
"June 20 2007"# convert date info in format 'mm/dd/yyyy'
strDates <- c("01/05/1965", "08/16/1975")
dates <- as.Date(strDates, "%m/%d/%Y") # convert dates to character data
strDates <- as.character(dates)--------------------------------------
> as.Date('1915-6-16')
[1] "1915-06-16"
> as.Date('1990/02/17')
[1] "1990-02-17"> as.Date('1/15/2001',format='%m/%d/%Y')
[1] "2001-01-15"
> as.Date('April 26, 2001',format='%B %d, %Y')
[1] "2001-04-26"
> as.Date('22JUN01',format='%d%b%y')   # %y is system-specific; use with caution
[1] "2001-06-22"> bdays = c(tukey=as.Date('1915-06-16'),fisher=as.Date('1890-02-17'),
+           cramer=as.Date('1893-09-25'), kendall=as.Date('1907-09-06'))
> weekdays(bdays)tukey      fisher      cramer     kendall
"Wednesday"    "Monday"    "Monday"    "Friday"> dtimes = c("2002-06-09 12:45:40","2003-01-29 09:30:40",
+            "2002-09-04 16:45:40","2002-11-13 20:00:40",
+            "2002-07-07 17:30:40")
> dtparts = t(as.data.frame(strsplit(dtimes,' ')))
> row.names(dtparts) = NULL
> thetimes = chron(dates=dtparts[,1],times=dtparts[,2],
+                  format=c('y-m-d','h:m:s'))
> thetimes
[1] (02-06-09 12:45:40) (03-01-29 09:30:40) (02-09-04 16:45:40)
[4] (02-11-13 20:00:40) (02-07-07 17:30:40)> dts = c("2005-10-21 18:47:22","2005-12-24 16:39:58",
+         "2005-10-28 07:30:05 PDT")
> as.POSIXlt(dts)
[1] "2005-10-21 18:47:22" "2005-12-24 16:39:58" 
[3] "2005-10-28 07:30:05"> dts = c(1127056501,1104295502,1129233601,1113547501,
+         1119826801,1132519502,1125298801,1113289201)
> mydates = dts
> class(mydates) = c('POSIXt','POSIXct')
> mydates
[1] "2005-09-18 08:15:01 PDT" "2004-12-28 20:45:02 PST"
[3] "2005-10-13 13:00:01 PDT" "2005-04-14 23:45:01 PDT"
[5] "2005-06-26 16:00:01 PDT" "2005-11-20 12:45:02 PST"
[7] "2005-08-29 00:00:01 PDT" "2005-04-12 00:00:01 PDT"> mydate = strptime('16/Oct/2005:07:51:00',format='%d/%b/%Y:%H:%M:%S')
[1] "2005-10-16 07:51:00"> ISOdate(2005,10,21,18,47,22,tz="PDT")
[1] "2005-10-21 18:47:22 PDT"> thedate = ISOdate(2005,10,21,18,47,22,tz="PDT")
> format(thedate,'%A, %B %d, %Y %H:%M:%S')
[1] "Friday, October 21, 2005 18:47:22"> mydate = as.POSIXlt('2005-4-19 7:01:00')
> names(mydate)
[1] "sec"   "min"   "hour"  "mday"  "mon"   "year"  
[7] "wday"  "yday"  "isdst"
> mydate$mday
[1] 19

轉載于:https://www.cnblogs.com/awishfullyway/p/6668369.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371145.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371145.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371145.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

html高度塌陷問題解決

高度塌陷的問題&#xff1a; 當開啟元素的BFC以后&#xff0c;元素將會有如下的特性 1 父元素的垂直外邊距不會和子元素重疊 開啟BFC的元素不會被浮動元素所覆蓋 開啟BFC的元素可以包含浮動的子元素 如何開啟元素的BFC 設置元素浮動 設置元素絕對定位 …

java空格鍵_Java KeyPressed-如果其他鍵也太舊,則無法檢測是否按下了空格鍵

如標題所示&#xff0c;在我的Java游戲中&#xff0c;無法檢測是否同時按下空格鍵和其他鍵。例如&#xff0c;空格鍵是射擊鍵&#xff0c;而箭頭鍵則使玩家移動。如果我按下向上箭頭鍵&#xff0c;向左箭頭鍵和空格鍵&#xff0c;那么它應該向左上方發射子彈。但是&#xff0c;…

How to fix the bug “Expected required, optional, or repeated.”?

參考&#xff1a;https://github.com/tensorflow/models/issues/1834 You need to download protoc version 3.3 (already compiled). Used protoc inside bin directory to run this command like this:tensorflow$ mkdir protoc_3.3tensorflow$ cd protoc_3.3tensorflow/prot…

立面設計模式–設計觀點

在上一篇文章中&#xff0c;我們描述了適配器設計模式 。 在今天的文章中&#xff0c;我們將展示另一種類似的“四結構幫派”模式 。 顧名思義&#xff0c;結構模式用于從許多不同的對象形成更大的對象結構。 外觀模式就是這樣一種模式&#xff0c;它為系統內的一組接口提供了簡…

Java第三次作業 1502 馬 帥

《Java技術》第三次作業 &#xff08;一&#xff09;學習總結 1.書中對面向對象封裝性的定義為&#xff1a;指把對象的屬性和行為看成一個密不可分的整體&#xff0c;把不需要讓外界知道的信息隱蔽起來。簡單來說&#xff0c;就是定義的一些對象&#xff0c;只有在本類中才可以…

sass運算

sass具有運算的特性&#xff0c;可以對數值型的Value(如&#xff1a;數字、顏色、變量等)進行加減乘除四則運算。 請注意運算符前后請留一個空格&#xff0c;不然會出錯。 scss.style css.style 本文轉載于:猿2048https://www.mk2048.com/blog/blog.php?idiij12j&titles…

163 coremail_Icoremail企業郵箱

高速穩定iCoremail企業郵箱于國內外多個網絡運營商的主干網數據中心放置郵件服務器&#xff0c;同時采用我司自主研發的Coremail電子郵件系統&#xff0c;從多方面保障了用戶的流暢體驗。安全可靠iCoremail企業郵箱使用歐洲最大的反病毒安全提供商的Sophos反病毒系列產品&#…

jquery-基礎事件[下]

<script>$(function () {mouseover mouseout mouseenter mouseleave的區別$(div).mouseover(function () {$(this).css(background, red);}).mouseout(function () {$(this).css(background, green);});$(div).mouseenter(function () {$(this).css(background, red);}).…

JavaOne 2012:NetBeans.Next –未來路線圖

我從Continental Ballroom 4和一個NetBeans主題&#xff08; 項目Easel &#xff09;到Continental Ballroom 5&#xff0c;走了必要的幾個步驟&#xff0c;以查看另一個面向NetBeans的演示文稿&#xff1a;“ NetBeans.Next –未來路線圖”。 Ashwin Rao發起了“羽毛之鳥”&am…

LeetCode day30

LeetCode day30 害&#xff0c;昨天和今天在搞數據結構的報告&#xff0c;后面應該也會把哈夫曼的大作業寫上來。 今天認識認識貪心算法。(&#xff61;&#xff65;?&#xff65;)&#xff89; 2697. 字典序最小回文串 給你一個由 小寫英文字母 組成的字符串 s &#xff0c;…

html注冊表

這是第一次使用html寫一個簡單的注冊表&#xff08;有不對的地方希望大家可以幫我指出來謝謝?&#xff09; <!DOCTYPE html><html><head> <title>木木音樂網第一次注冊表</title></head><body><h2>使用手機號碼注冊</…

C#復習正則表達式

由于前段時間為了寫工具學的太J8粗糙 加上最近一段時間太浮躁 所以靜下心來復習 一遍以前學的很弱的一些地方1 委托 public delegate double weituo(double a, double b);public static double test1(double a,double b){return a * b;}public static double test2(double a,…

使用JPA偵聽器的數據庫加密

最近&#xff0c;我不得不將數據庫加密添加到幾個字段中&#xff0c;并且發現了很多不好的建議。 建筑問題 最大的問題是建筑。 如果持久性管理器悄悄地處理您的加密&#xff0c;那么根據定義&#xff0c;您的體系結構將在持久性和安全性設計之間要求緊密而不必要的綁定。 您…

Java是先難后易嗎_在解決問題的時候,是先難后易還是先易后難?

有家長問&#xff0c;孩子一旦聽到不同聲音&#xff0c;就沮喪&#xff0c;一旦有難的事情&#xff0c;就逃避&#xff0c;怎么辦&#xff1f;回答這個問題之前&#xff0c;我們問一個問題“你給孩子玩穿紐扣游戲&#xff0c;是一開始給孩子玩容易穿的紐扣好呢&#xff1f;還是…

在vue中安裝使用vux

最近因為的工作的原因在弄vue&#xff0c;從后端弄到前端之前一直用js&#xff0c;現在第一次接觸vue感覺還挺有意思的&#xff0c;就是自己太菜了&#xff0c;這個腦子呀。。。。不太夠用。。。。。頁面設計用了一個叫vux的東西&#xff0c;vux可以提供一些組件&#xff0c;用…

form表單 獲取與賦值

form表單中使用頻繁的組件: 文本框、單選框、多選框、下拉框、文本域form通過getValues()獲取表單中所有name的值 通過setValues({key:values})給對應的name值進行賦值&#xff0c;其中key對應的name值 在給單選框和多選框賦值時&#xff0c;有幾個疑惑的地方&#xff1a;  …

Zabbix全方位告警接入-電話/微信/短信都支持

http://www.cnblogs.com/baidu-gaojing/p/5128035.html 百度告警平臺地址&#xff1a; http://gaojing.baidu.com 聯系我們&#xff1a; 郵箱&#xff1a;gaojingbaidu.com 電話&#xff1a;13924600771 QQ群&#xff1a;183806029 對于使用zabbix的用戶&#xff0c;要接入百度…

Spring MVC定制用戶登錄注銷實現示例

這篇文章描述了如何實現對Spring MVC Web應用程序的自定義用戶訪問&#xff08;登錄注銷&#xff09;。 作為前提&#xff0c;建議讀者閱讀這篇文章 &#xff0c;其中介紹了一些Spring Security概念。 該代碼示例可從Spring-MVC-Login-Logout目錄中的Github獲得。 它從帶有注釋…

HTML5與CSS3權威指南筆記案例1

第1章 <!DOCTYPE html> <meta charset "UTF-8"> <title> Search </title> <form> <p><label>Search&#xff1a;<input name"search" autofocus></label> </p> </form> <!DOCTYPE&…

java循環的概念_Java數據結構之循環隊列簡單定義與用法示例

本文實例講述了Java數據結構之循環隊列簡單定義與用法。分享給大家供大家參考&#xff0c;具體如下&#xff1a;一、概述&#xff1a;1、原理&#xff1a;與普通隊列的區別在于循環隊列添加數據時&#xff0c;如果其有效數據end maxSize - 1(最大空間)的話&#xff0c;end指針…