---
name: "Time::localtime"
section: "3p"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["openbsd"]
url: "https://new.carta.tech/Time::localtime"
---

# Time::localtime(3p)

by-name interface to Perl's built-in localtime() function

## NAME

Time::localtime - by-name interface to Perl's built-in localtime() function

## SYNOPSIS

```
 use Time::localtime;
 printf "Year is %d\n", localtime->year() + 1900;
 $now = ctime();
 use Time::localtime;
 use File::stat;
 $date_string = ctime(stat($file)->mtime);
```

## DESCRIPTION

This module's default exports override the core **localtime()** function, replacing it with a version that returns "Time::tm" objects. This object has methods that return the similarly named structure field name from the C's tm structure from *time.h*; namely sec, min, hour, mday, mon, year, wday, yday, and isdst.

You may also import all the structure fields directly into your namespace as regular variables using the :FIELDS import tag.  (Note that this still overrides your core functions.)  Access these fields as variables named with a preceding `"tm_"` in front their method names. Thus, `"$tm_obj->mday()"` corresponds to `$tm_mday` if you import the fields.

The **ctime()** function provides a way of getting at the  scalar sense of the original **CORE::localtime()** function.

To access this functionality without the core overrides, pass the `"use"` an empty import list, and then access function functions with their full qualified names. On the other hand, the built-ins are still available via the `"CORE::"` pseudo-package.

## NOTE

While this class is currently implemented using the Class::Struct module to build a struct-like class, you shouldn't rely upon this.

## AUTHOR

Tom Christiansen
