Working with dates and time in R using the lubridate package (2023)

Sometimes we have data with dates and/or times that we want to manipulate or summarize. A common example in the health sciences is time-in-study. A subject may enter a study on Feb 12, 2008 and exit on November 4, 2009. How many days was the person in the study? (Don’t forget 2008 was a leap year; February had 29 days.) What was the median time-in-study for all subjects?

Another example are experiments that time participants performing an activity, applies a treatment to certain members, and then re-times the activity. What was the difference in times between subjects that received the treatment and those that did not? If our data is stored and read in as something like “01:23:03”, then we’ll need to convert to seconds.

The lubridate package for the R statistical computing environment was designed to help us deal with these kinds of data. The out-of-the-box base R installation also provides functions for working with dates and times, but the functions in the lubridate package are a little easier to use and remember.

Formatting dates

When we import data into R, dates and times are usually stored as character or factor by default due to symbols such as “-”, “:” and “/”. (Though see the readr package for functions that attempt to parse date and times automatically.) Using the str or class functions will tell you how they’re stored. If dates or times are stored as character or factor that means we can’t calculate or summarize elapsed times.

To format dates, lubridate provides a series of functions that are a permutation of the letters “m”, “d” and “y” to represent the ordering of month, day and year. For example, if our data has a column of dates such as May 11, 1996, our dates are ordered month-day-year. Therefore we would use the mdy function to transform the column to a date object. If our dates were in the order of, say, year-month-day, we would use the ymd function. lubridate provides functions for every permutation of “m”, “d”, “y”.

Let’s demonstrate. Below we generate two character vectors of dates, inspect their class, reformat them using the mdy function and then inspect their class again.

library(lubridate)begin <- c("May 11, 1996", "September 12, 2001", "July 1, 1988")end <- c("7/8/97","10/23/02","1/4/91")class(begin)
## [1] "character"
## [1] "character"
(begin <- mdy(begin))
## [1] "1996-05-11" "2001-09-12" "1988-07-01"
(end <- mdy(end))
## [1] "1997-07-08" "2002-10-23" "1991-01-04"
## [1] "Date"
## [1] "Date"

The dates now have class “Date” and are printed in year-month-day format. They may appear to still be character data when printed, but they are in fact numbers. The “Date” class means dates are stored as the number of days since January 1, 1970, with negative values for earlier dates. We can use the as.numeric function to view the raw values.

## [1] 9627 11577 6756
## [1] 10050 11983 7673

With dates stored in this fashion we can do things like subtraction to calculate number of days between two dates.

(Video) Handling Datetimes in R with "lubridate" | R Tutorial (2020)

We can also format dates that contain time information by appending _h, _hm, or _hms to any of the aforementioned functions. “h”, “m”, and “s” stand for hour, minute, and second, respectively. Below we add some time data to our dates and demonstrate how to use mdy_hms.

begin <- c("May 11, 1996 12:05", "September 12, 2001 1:00", "July 1, 1988 3:32")end <- c("7/8/97 8:00","10/23/02: 12:00","1/4/91 2:05")(begin <- mdy_hm(begin))
## [1] "1996-05-11 12:05:00 UTC" "2001-09-12 01:00:00 UTC"## [3] "1988-07-01 03:32:00 UTC"
(end <- mdy_hm(end))
## [1] "1997-07-08 08:00:00 UTC" "2002-10-23 12:00:00 UTC"## [3] "1991-01-04 02:05:00 UTC"
## [1] "POSIXct" "POSIXt"
## [1] "POSIXct" "POSIXt"

Notice the class is now “POSIXct”. “POSIXct” represents the number of seconds since the beginning of 1970. If a date is before 1970, the number of seconds is negative. Notice also the the letters “UTC” have been appended to the date-times. UTC is short for Universal Coordinated Time. You can read more about UTC here, but it’s basically the time standard by which the world regulates clocks. If we prefer we can specify a time zone when formatting dates by using the tz argument. Here’s how we can specify the Eastern Time Zone in the United States when formatting our dates.

begin <- c("May 11, 1996 12:05", "September 12, 2001 1:00", "July 1, 1988 3:32")end <- c("7/8/97 8:00","10/23/02: 12:00","1/4/91 2:05")(begin <- mdy_hm(begin, tz = "US/Eastern"))
## [1] "1996-05-11 12:05:00 EDT" "2001-09-12 01:00:00 EDT"## [3] "1988-07-01 03:32:00 EDT"
(end <- mdy_hm(end, tz = "US/Eastern"))
## [1] "1997-07-08 08:00:00 EDT" "2002-10-23 12:00:00 EDT"## [3] "1991-01-04 02:05:00 EST"

Notice the last date is EST instead of EDT. EST means “Eastern Standard Time”. EDT means “Eastern Daylight Time”. Any day and time that falls during Daylight Savings is EDT. Otherwise it’s EST. How do we know the appropriate time zone phrase to use in the tz argument? We can use the OlsonNames function to see a character vector of all time zone names. Just enter OlsonNames() in the R console and hit Enter.

We can also read in times without dates using the functions ms, hm, or hms, where again “h”, “m”, and “s” stand for “hours”, “minutes”, and “seconds”. Here are a few examples.

time1 <- c("1:13", "0:58", "1:01")time2 <- c("12:23:11", "09:45:31", "12:05:22")time3 <- c("2:14", "2:16", "3:35")(time1 <- ms(time1))
## [1] "1M 13S" "58S" "1M 1S"
(time2 <- hms(time2))
## [1] "12H 23M 11S" "9H 45M 31S" "12H 5M 22S"
(time3 <- hm(time3))
## [1] "2H 14M 0S" "2H 16M 0S" "3H 35M 0S"

Once again, don’t be fooled by the print out. These times are actually stored as seconds. Use as.numeric to verify.

## [1] 73 58 61
## [1] 44591 35131 43522
## [1] 8040 8160 12900

The class of these new time objects is neither “Date” nor “POSIX” but rather “Period”.

## [1] "Period"## attr(,"package")## [1] "lubridate"

Period is one of three classes lubridate provides for time spans. Let’s learn more about these classes.

Durations, Intervals and Periods

lubridate provides three classes, or three different ways, to distinguish between different types of time spans.

(Video) Create dates and times in R lubridate package| make_datetime( ) function | ymd( ) in RStudio

  1. Duration
  2. Interval
  3. Period

Understanding these classes will help you get the most out of lubridate.

The most simple is Duration. This is simply a span of time measured in seconds. There is no start date.

An Interval is also measured in seconds but has an associated start date. An Interval measures elapsed seconds between two specific points in time.

A Period records a time span in units larger than seconds, such as years or months. Unlike seconds, years and months differ in time. June has 30 days while July has 31 days. February has 28 days except for leap years when it has 29 days. With the Period class, we can add 1 month to February 1 and get March 1. It allows us to perform calculations in calendar or clock time as opposed to absolute number of seconds.

Let’s see these three classes in action. Below we define two dates in the US Eastern time zone. The start day is March 11, 2017 at 5:21 AM. The end day is March 12, 2017 at the same time. Note that Daylight Savings begins (or began, depending on when you’re reading this) on March 12 at 2:00 AM.

start <- mdy_hm("3-11-2017 5:21", tz = "US/Eastern")end <- mdy_hm("3-12-2017 5:21", tz = "US/Eastern")

Since we’re dealing with elapsed time between two dates, let’s start with Intervals. We can define an Interval using the %--% operator.

time.interval <- start %--% endtime.interval
## [1] 2017-03-11 05:21:00 EST--2017-03-12 05:21:00 EDT

Notice how Intervals print. They show the beginng date and end date. And also notice how the time zone changes from EST to EDT indicating that Daylight Savings has started. If we look at the structure of an Interval object we see it contains elapsed time in seconds, 82800, and the start date.

## Formal class 'Interval' [package "lubridate"] with 3 slots## ..@ .Data: num 82800## ..@ start: POSIXct[1:1], format: "2017-03-11 05:21:00"## ..@ tzone: chr "US/Eastern"

To create a Duration between these two dates, we can use the as.duration function.

time.duration <- as.duration(time.interval)time.duration
## [1] "82800s (~23 hours)"

Notice a Duration object prints the elapsed time in seconds as well as something a little friendlier to read, in this case hours. Because Daylight Savings went into effect at 2:00 AM during the interval, an hour was skipped. Thus the duration between these two time points is only 23 hours.

(Video) 4.3: Data Visualization: Converting dates and times with lubridate

If we look at the structure of a Duration object we see it just contains elapsed time in seconds.

## Formal class 'Duration' [package "lubridate"] with 1 slot## ..@ .Data: num 82800

We can create a Period from an Interval using the as.period function.

time.period <- as.period(time.interval)time.period
## [1] "1d 0H 0M 0S"

A Period prints elapsed time as integers in the form of years, months, weeks, days and so on. Notice this Period is 1 day long. While only 23 hours have technically elapsed since the start date, according to our clock one day has elapsed.

If we look at the structure we see a Period contains several slots for “clock time” values and, like the Duration object, no associated date.

## Formal class 'Period' [package "lubridate"] with 6 slots## ..@ .Data : num 0## ..@ year : int 0## ..@ month : int 0## ..@ day : int 1## ..@ hour : int 0## ..@ minute: int 0

To recap:

  • An Interval is elapsed time in seconds between two specific dates. (If no time is provided, the time for each date is assumed to be 00:00:00, or midnight.)
  • A Duration is elapsed time in seconds independent of a start date.
  • A Period is elapsed time in “calendar” or “clock” time (4 weeks, 2 months, etc) independent of a start date.

Calculations and conversions

Once we format dates and define our time span we often want to do some calculations and conversions. For example, we may want to calculate the mean elapsed time in weeks for different groups.

Let’s create some data and demonstrate. First we enter arbitrary start and end dates and define an Interval

start <- c("2012-08-21", "2012-09-01", "2012-08-15", "2012-09-18")end <- c("2012-09-16", "2012-09-06", "2012-08-22", "2012-10-11")elapsed.time <- start %--% end

If we view the elapsed.time object we’ll just see date ranges. We can use as.duration or even as.numeric to view the elapsed time in seconds but that’s not very useful in this case. It would be better if we converted seconds to another unit of time such as weeks or days. Fortunately lubridate makes this easy.

(Video) Unit2 - Working With Dates with lubridate in R

The trick is to convert intervals to durations and then divide the duration by a duration object in the units we desire. That’s a mouthful but easy to demonstrate. Below we demonstrate how to convert to weeks. First we convert our interval to a duration, and then we divide by dweeks(1). The function call dweeks(1) generates a duration of one week in seconds, which is 604800. Dividing that into our duration returns number of weeks.

as.duration(elapsed.time) / dweeks(1)
## [1] 3.7142857 0.7142857 1.0000000 3.2857143

We can do the same with hours, days, minutes and years.

as.duration(elapsed.time) / dhours(1)
## [1] 624 120 168 552
as.duration(elapsed.time) / ddays(1)
## [1] 26 5 7 23
as.duration(elapsed.time) / dminutes(1)
## [1] 37440 7200 10080 33120
as.duration(elapsed.time) / dyears(1)
## [1] 0.07123288 0.01369863 0.01917808 0.06301370

Once we have the durations in the units we want, we can then do things like find the mean.

mean(as.duration(elapsed.time) / dweeks(1))
## [1] 2.178571

Of course this was just for demonstration. With only 4 values, the mean is not a very useful summary.

As another example, consider the following vector of character data summarizing a duration of time. “12w” means 12 weeks and “4d” means 4 days.

StudyTime <- c("12w 4d", "11w", "10w 5d", NA, "12w 6d")

What if we wanted to convert that to numeric weeks? First we’ll give the R code and them explain how it works.

as.duration(period(StudyTime, units = c("week","day"))) / dweeks(1)
## [1] 12.57143 11.00000 10.71429 NA 12.85714

First we use the period function to define a Period using our data. The units argument says the first part of our data represents weeks and the second part represents days. That is then converted to a Duration object that stores time in seconds. Finally we divide by dweeks(1) to convert seconds to weeks. Notice how the NA remains NA and that “11w” converts to 11 just fine even though it had no days appended to it.

There is much more to the lubridate package. Read the vignette and check out the examples on each function’s help page. But hopefully the material in this post gets you started with reading in dates, creating time-spans, and making conversions and calculations.

For questions or clarifications regarding this article, contact the UVA Library StatLab:

(Video) Using Lubridate

View the entire collection of UVA Library StatLab articles.

Clay Ford
Statistical Research Consultant
University of Virginia Library
January 11, 2017


What is Lubridate package in R? ›

Lubridate is an R package that makes it easier to work with dates and times. Below is a concise tour of some of the things lubridate can do for you. Lubridate was created by Garrett Grolemund and Hadley Wickham, and is now maintained by Vitalie Spinu.

What does the Lubridate package do? ›

lubridate: Make Dealing with Dates a Little Easier

Functions to work with date-times and time-spans: fast and user friendly parsing of date-time data, extraction and updating of components of a date-time (years, months, days, hours, minutes, and seconds), algebraic manipulation on date-time and time-span objects.

How do I combine date and time in R? ›

time() method in R can be used to merge together the date and time to obtain date-time object in POSIX format.
  1. Syntax:, time)
  2. Parameter :
  3. Returns :
11 Aug 2021

How does R handle time and date? ›

R provides several options for dealing with date and date/time data. The builtin as. Date function handles dates (without times); the contributed library chron handles dates and times, but does not control for time zones; and the POSIXct and POSIXlt classes allow for dates and times with control for time zones.

How do I extract year from date in Lubridate? ›

lubridate::year should also do the trick once the data is in 'Date' format as suggested by @akrun. The cleanest solution is to coerce that variable to Date and use either format or other functions to extract parts of it. For example, x <- as. Date("01/01/2009", format = "%m/%d/%Y"); lubridate::year(x) .

How do I calculate time in R? ›

You can use the difftime() function to calculate the time difference between two dates or datetimes in R. where: time1, time2: The two dates or datetimes. units: The units to use for time difference (default is “days”, but other options include “secs”, “mins”, “hours”, and “weeks”)

How do you set the date in R? ›

To create a Date object from a simple character string in R, you can use the as. Date() function. The character string has to obey a format that can be defined using a set of symbols (the examples correspond to 13 January, 1982): %Y : 4-digit year (1982)

How does Lubridate calculate age in R? ›

Calculate age in R with lubridate

Operator %–% creates a time interval from the date of the birth to a specified date, and that is divided with a 1-year period by using function years. It is fas enough even in large datasets that have a couple of million age calculations.

Which Lubridate function will produce the first day of the next month? ›

You can do it with the ceiling_date function from lubridate. If you use it by itself, then you will get the first date of next month.

How do I combine date and time columns? ›

To combine the date and time columns into one column, the following formula can help you: 1. Enter this formula: =concatenate(text(A2,"mm/dd/yyyy")&" "&text(B2,"hh:mm:ss")) into a blank cell where you want to put the combined result, then press Enter key to get the first combined cell.

Which of the following examples can you use in R for date time data Select all that apply? ›

Which of the following examples can you use in R for date/time data? Select all that apply. The examples of types of date/time data that you can use in R are 06:11:13 UTC, 2019-04-16 , and 2018-12-21 16:35:28 UTC . R recognizes the syntax of each of these formats as a date/time data type.

What does time () do in R? ›

time creates the vector of times at which a time series was sampled. cycle gives the positions in the cycle of each observation. frequency returns the number of samples per unit time and deltat the time interval between observations (see ts ).

How can you represent date and time in R explain with example? ›

R has developed a special representation for dates and times. Dates are represented by the Date class and times are represented by the POSIXct or the POSIXlt class. Dates are stored internally as the number of days since 1970-01-01 while times are stored internally as the number of seconds since 1970-01-01.

How do I change date and time format in R? ›

How to Display Time Objects | as.Date, class & format - YouTube

Which character is used to store date and time data? ›

The date data type is used to store the calendar date and it requires four bytes. It is stored as integers or arithmetic expressions it also shows the number of days which is hidden between two dates.

How do you convert Millisec to date? ›

Use the Date() constructor to convert milliseconds to a date, e.g. const date = new Date(timestamp) . The Date() constructor takes an integer value that represents the number of milliseconds since January 1, 1970, 00:00:00 UTC and returns a Date object.

How do I extract date from DateTime? ›

ToString() − One more way to get the date from DateTime is using ToString() extension method. The advantage of using ToString() extension method is that we can specify the format of the date that we want to fetch. DateTime. Date − will also remove the time from the DateTime and provides us the Date only.

How do I extract year from a date in R? ›

To extract the year from the column, we will create a dataframe with date columns and then separate the year from DateTime using format() methods and extract the year and convert to a numeric format.

Is there a time data type in R? ›

In addition to the time data types R also has a date data type. The difference is that the date data type keeps track of numbers of days rather than seconds. You can cast a string into a date type using the as. Date function.

How do you calculate rate and time? ›

To solve for speed or rate use the formula for speed, s = d/t which means speed equals distance divided by time. To solve for time use the formula for time, t = d/s which means time equals distance divided by speed.

Which function in R is used for time series analysis? ›

Time Series in R is used to see how an object behaves over a period of time. In R, it can be easily done by ts() function with some parameters. Time series takes the data vector and each data is connected with timestamp value as given by the user.

What is the date format in R? ›

That is it for date formatting in R.
Various Date formats in R.
Conversion specificationDescriptionExample
%yYear without century 00-9984, 05
%YYear with century on input: 00 to 68 prefixed by 20 69 to 99 prefixed by 191984, 2011
%CCentury19, 20
%DDate formatted %m/%d/%y09/10/93, 11/20/93
12 more rows
23 Nov 2021

What format should date be in R? ›

The mdy() function flexibly converts date values supplied as month, then day, then year. The dmy() function flexibly converts date values supplied as day, then month, then year. Once the values are in class Date, R will by default display them in the standard format, which is YYYY-MM-DD.

How does R determine date format? ›

R Tutorial: Date formats and extractor functions - YouTube

How do I convert a date to age in R? ›

Age is extracted from Date_of_birth column using difftime() functions in roundabout way by extracting the number of weeks between date of birth and current date and dividing by 52.25, as shown below.

How do I calculate age in days in R? ›

Accurate Calculation of Years between Dates in R
  1. Calculate the number of days in between using difftime(end_date, start_date) , and divide it by 365. ...
  2. Calcualte the number of weeks in between using difftime(end_date, start_date, unit = "weeks") and divide it by 52.25.
4 Dec 2018

How do I change a character to a date in R? ›

You can use the as. Date( ) function to convert character data to dates. The format is as. Date(x, "format"), where x is the character data and format gives the appropriate format.

Which function returns the day of the month for the date? ›

The Day function returns the day component of a Date/Time value, ranging from 1 to 31. The Month function returns the month component of a Date/Time value, ranging from 1 to 12.

How do I combine month and day in R? ›

The easiest way to combine year, month, and day numbers into a date in R, in my opinion, is with the function make_date from the lubridate package. In this scenario, if you want to gate the first date of each month, replace the day number column with 1.

Which function is used to return last day of month? ›

Returns the serial number for the last day of the month that is the indicated number of months before or after start_date. Use EOMONTH to calculate maturity dates or due dates that fall on the last day of the month.

How do I insert date and time in the same cell? ›

Do one of the following: To insert the date, type the date (like 2/2), and then click Home > Number Format dropdown (in the Number tab) >Short Date or Long Date. To insert the time, type the time, and then click Home > Number Format dropdown (in the Number tab) >Time.

How do I separate a date and time from the same column? ›

If a cell contains a combined date and time, you can use the INT function to pull the time value into a separate column.

How can you enter date and time together in a cell one word answer? ›

Explanation: combine date column and time column into one. You also can use this formula =A2+B2 and then format the result cells as date and time formatting.

What types of date time data does R use to declare instances in time? ›

The month and date separated by - . This default format used in R is the ISO 8601 standard for date/time. ISO 8601 is the internationally accepted way to represent dates and times and uses the 24 hour clock system. Let us create the release date using another function ISOdate() .

How do I subset data between two dates in R? ›

Subset Data Frame Between Two Dates in R (Example) - YouTube

What is the system variable for time and date? ›

*TIM* - Time System Variables

Contains the time that has elapsed after the SETTIME statement was executed (in format HHIISST (*)). ( r ) represents the statement label or source-code line number of the SETTIME statement used as the basis for *TIMD . Contains the time of day in format HH:II:SS. T (*).

What data type is used for time? ›

The TIMESTAMP data type consists of a date and time, with optional time zone.

What is the data type of time? ›

The DATETIME data type stores an instant in time expressed as a calendar date and time of day. You select how precisely a DATETIME value is stored; its precision can range from a year to a fraction of a second.

Is Lubridate part of the Tidyverse? ›

lubridate is part of Hadley's tidyverse ecosystem but is not loaded by the tidyverse package, which includes only what he thought were the core components.

What is POSIXct format in R? ›

POSIXct stores date and time in seconds with the number of seconds beginning at 1 January 1970. Negative numbers are used to store dates prior to 1970. Thus, the POSIXct format stores each date and time a single value in units of seconds. Storing the data this way, optimizes use in data.

What are Posixt objects? ›

"POSIXlt" objects will often have an attribute "tzone" , a character vector of length 3 giving the timezone name from the TZ environment variable and the names of the base timezone and the alternate (daylight-saving) timezone. Sometimes this may just be of length one, giving the timezone name.

How do I change a character to a date in R? ›

You can use the as. Date( ) function to convert character data to dates. The format is as. Date(x, "format"), where x is the character data and format gives the appropriate format.

Which is the package of tidyverse used to work with dates and times? ›

clock is a new package providing a comprehensive set of tools for working with date-times. It is packed with features, including utilities for: parsing, formatting, arithmetic, rounding, and extraction/updating of individual components.

Why is tidyverse so popular? ›

Why is Tidyverse so popular? Developed by RStudio's chief scientist Hadley Wickham, the Tidyverse provides an efficient, fast, and well-documented workflow for general data modeling, wrangling, and visualization tasks. The Tidyverse uses a consistent approach to build an ecosystem of applications.

How do I compare dates in R? ›

The date objects can be compared using the minus operator to subtract the smaller date from the larger date. The units in which the date is returned is the maximum of the hours, minutes or seconds.

How are dates formatted in R? ›

To format the dates in R, use the format() function. The format() method accepts an R object and the format in which we want the output. The format() method provides you with formatting an R object for pretty printing. The Dates in R are expressed as the number of days since 1970-01-01.

What does time () do in R? ›

time creates the vector of times at which a time series was sampled. cycle gives the positions in the cycle of each observation. frequency returns the number of samples per unit time and deltat the time interval between observations (see ts ).

How do I extract time from POSIXct in R? ›

  1. as.POSIXct() is used to extract time from the time stamp.
  2. format is used to get the time format. Ex : hours:Minutes and seconds. format = “%H:%M:%S” (To get hours: minutes :seconds) format = “%H:%M” (To get hours: minutes ) format = “%H” (To get hours)
  3. data is the time stamp.
30 Jun 2021

Which character is used to store date and time data? ›

The date data type is used to store the calendar date and it requires four bytes. It is stored as integers or arithmetic expressions it also shows the number of days which is hidden between two dates.

How do I convert a number to a datetime in R? ›

Convert Integer to Date in R (3 Examples)
  1. 1) Creation of Example Data.
  2. 2) Example 1: Convert Integer to Date Using as.Date() & as.character() Functions.
  3. 3) Example 2: Convert Integer to Date Using strptime() Function.
  4. 4) Example 3: Convert Integer to Date Using ymd() Function of lubridate Package.

What are the 6 classes of R objects? ›

R's basic data types are character, numeric, integer, complex, and logical. R's basic data structures include the vector, list, matrix, data frame, and factors.

Is there a date data type in R? ›

In addition to the time data types R also has a date data type. The difference is that the date data type keeps track of numbers of days rather than seconds. You can cast a string into a date type using the as. Date function.

What is the default format for date in R? ›

Note that the default date format is YYYY-MM-DD; therefore, if your string is of different format you must incorporate the format argument. There are multiple formats that dates can be in; for a complete list of formatting code options in R type ? strftime in your console.

How do I view dates in R? ›

In R programming, if you use Sys. Date() function, it will give you the system date. You don't need to add an argument inside the parentheses to this function.


1. Aggregate Daily Data to Month & Year Intervals in R | Base R & dplyr Example | lubridate Package
(Statistics Globe)
2. Dates and DateTimes with lubridate
(Kelly Bodwin)
3. Date time object formats with lubridate in R (2 minutes)
4. How To Handle Dates Using Lubridate Package In R? | LearnVern
5. Using lubridate and ggplot2 to work with dates in R (CC234)
(Riffomonas Project)
6. Introduction to R: Dealing With Dates
Top Articles
Latest Posts
Article information

Author: Rev. Leonie Wyman

Last Updated: 01/09/2023

Views: 6005

Rating: 4.9 / 5 (79 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Rev. Leonie Wyman

Birthday: 1993-07-01

Address: Suite 763 6272 Lang Bypass, New Xochitlport, VT 72704-3308

Phone: +22014484519944

Job: Banking Officer

Hobby: Sailing, Gaming, Basketball, Calligraphy, Mycology, Astronomy, Juggling

Introduction: My name is Rev. Leonie Wyman, I am a colorful, tasty, splendid, fair, witty, gorgeous, splendid person who loves writing and wants to share my knowledge and understanding with you.