Home THE HYPERCARD CENTER

HyperTalk Reference
Home » HyperTalk Reference »

Note: This is a work in progress and many formatting issues have been fixed. Read more about the project on the home page.

convert

convert {value |container}[from ¬
formatName [and formatName]] ¬
to formatName [and formatName]

The convert command changes a value expressed as a valid date, time, or date and time format to another format.

You use and formatName in combination with the first formatName to convert a value to any two formats (often the date and time).

The form convert value to formatName returns the converted value in the local variable it. The form convert [ph:container to formatName converts a value in a chunk or container (including variables) and places the result in that chunk or container.

You use the form from format in situations where you don't want HyperCard to do the conversion automatically.

There are four types of date formats:

  • seconds, a positive integer equal to the number of seconds since 12:00 midnight on January 1, 1904
  • dateItems, a comma-delimited list of seven positive integers equal to the following values: year, month, day, hour, minute, second, dayNumber where dayNumber 1 = Sunday and 7 = Saturday.
  • date, which has one of three formats:
  • ** [dayName,] monthName, day, year

    ** month/day/year

    ** month-day-year

where dayName = Sunday, Sun, Monday, Mon, Tuesday, Tue, Wednesday, Wed, Thursday, Thur, Friday, Fri, Saturday, or Sat

monthName = January, Jan, February, Feb, March, Mar, April, Apr, May, June, Jun, July, Jul, August, Aug, September, Sep, October, Oct, November, Nov, December, or Dec

  • time, which has the following format: hour:minute[:second] [timeOfDay] where timeOfDay = am or pm

You can precede the format names date and time with an optional adjective, producing the following formats:

abbrev date Fri, Jun 15, 1990
long date Friday, June 15, 1990
short date 6/15/90
abbrev time 3:30 PM
long time 3:30:00 PM
short time 3:30 PM

Note: HyperCard can handle dates from 1/1/1000 to 12/31/9999 in all formats. It handles dates from 1/1/1 to 12/31/9999 only in the dateItems or seconds format. If you try to convert an invalid date (such as "Friday, May 50, 1990"), HyperCard sets the HyperTalk function the result to "Invalid date."

When System 7.1 is running, HyperCard uses the date and time settings from the Date & Time Control Panel.

Examples

convert "1/1/1960" to seconds -- the result goes into the variable it
convert "1/1/1960" to seconds and long date
convert (the seconds - startSeconds) to abbreviated time
convert bkgnd field "date" to seconds -- the result goes into the field
convert last word of field "Info" to short date
convert totalTime to abbreviated time -- the result goes into totalTime
convert field 1 from date to dateItems
convert myVar from seconds to long date
convert card field "Date and Time" from date and time to dateItems

Demo Script

on daysOld
repeat until birthTime is a date
put "What is your birthdate?" after sayIt
ask sayIt with the short date
if (it is empty) OR (the result is "Cancel") then exit daysOld
put it into birthTime
if birthTime is not a number
then put birthTime && "is not a valid date." & return into sayIt
end repeat
convert birthTime to seconds -- change birthTime to seconds
convert the date to seconds -- get the current date
put (it - birthTime) / 86400 into daysOld -- 86400 seconds in 1 day
convert birthTime to long date
answer "You were born on" && birthTime & ", and you are currently" &&¬
daysOld && "days old."
end daysOld

Related Topics

Placeholders

container

HyperTalk Definition

A place where you can store and retrieve a value.

There are six types of containers in HyperCard: a variable, a button, a field, the selection, the Message box, and menus.

myVariable
[the] selection
the Message box
btn 3
bg btn "Names"
card field 1
bkgnd field "Total"
menu 2
menu "Edit"

Additionally, you can refer to a button or field by its part number:

card part 1
last background part

AppleScript Definition

An object that contains one or more other objects, known as elements of the container. In a reference, the container specifies where to find an object. You specify containers with the reserved words of or in.

You can also use the possesive form ('s) to specify containers. For example, in

first window's name

the container is first window. The object it contains is a name property.

formatName

One of the following names of a date or time format:

seconds
dateItems
[adjective] date
[adjective] time

For example:

abbr date
abbr time
abbrev date
abbrev time
abbreviated date
abbreviated time
dateItems
long date
long time
seconds
short date
short time

adjective

One of the following:

abbr
abbrev
abbreviated
long
short

See also: formatName

HyperTalk Reference


Version 0.8b4 (July 4, 2025)

Made with Macintosh

Switch to Modern View