Skip to main content
Glama

get_datetime

Retrieve current date and time in multiple formats including ISO, localized, filename-friendly, and compact options for integration and display purposes.

Instructions

Get current date and time in various formats

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatYes Available formats: - date: 2024-12-10 - date_slash: 2024/12/10 - date_jp: 2024年12月10日 - datetime: 2024-12-10 00:54:01 - datetime_jp: 2024年12月10日 00時54分01秒 - datetime_t: 2024-12-10T00:54:01 - compact: 20241210005401 - compact_date: 20241210 - compact_time: 005401 - filename_md: 20241210005401.md - filename_txt: 20241210005401.txt - filename_log: 20241210005401.log - iso: 2024-12-10T00:54:01+0900 - iso_basic: 20241210T005401+0900 - log: 2024-12-10 00:54:01.123456 - log_compact: 20241210_005401 - time: 00:54:01 - time_jp: 00時54分01秒

Implementation Reference

  • Implements the handler logic for the 'get_datetime' tool, extracting the format from arguments, calling format_datetime, and returning the formatted time as TextContent. Handles ValueError by logging and re-raising as RuntimeError.
    if name == "get_datetime": try: format_type = arguments.get("format") if not format_type: raise ValueError("Format type is required") formatted_time = format_datetime(format_type) return [TextContent(type="text", text=formatted_time)] except ValueError as e: logger.error("Format error: %s", str(e)) raise RuntimeError(str(e)) from e
  • Registers the 'get_datetime' tool via the list_tools decorator, providing name, description, and inputSchema.
    @server.list_tools() async def list_tools() -> list[Tool]: return [ Tool( name="get_datetime", description="Get current date and time in various formats", inputSchema={ "type": "object", "properties": { "format": { "type": "string", "description": """ Available formats: - date: 2024-12-10 - date_slash: 2024/12/10 - date_jp: 2024年12月10日 - datetime: 2024-12-10 00:54:01 - datetime_jp: 2024年12月10日 00時54分01秒 - datetime_t: 2024-12-10T00:54:01 - compact: 20241210005401 - compact_date: 20241210 - compact_time: 005401 - filename_md: 20241210005401.md - filename_txt: 20241210005401.txt - filename_log: 20241210005401.log - iso: 2024-12-10T00:54:01+0900 - iso_basic: 20241210T005401+0900 - log: 2024-12-10 00:54:01.123456 - log_compact: 20241210_005401 - time: 00:54:01 - time_jp: 00時54分01秒 """, } }, "required": ["format"], }, ) ]
  • Defines the input schema for 'get_datetime' tool, requiring a 'format' string property with description of available formats.
    inputSchema={ "type": "object", "properties": { "format": { "type": "string", "description": """ Available formats: - date: 2024-12-10 - date_slash: 2024/12/10 - date_jp: 2024年12月10日 - datetime: 2024-12-10 00:54:01 - datetime_jp: 2024年12月10日 00時54分01秒 - datetime_t: 2024-12-10T00:54:01 - compact: 20241210005401 - compact_date: 20241210 - compact_time: 005401 - filename_md: 20241210005401.md - filename_txt: 20241210005401.txt - filename_log: 20241210005401.log - iso: 2024-12-10T00:54:01+0900 - iso_basic: 20241210T005401+0900 - log: 2024-12-10 00:54:01.123456 - log_compact: 20241210_005401 - time: 00:54:01 - time_jp: 00時54分01秒 """, } }, "required": ["format"], },
  • Helper function that formats the current UTC datetime (converted to local timezone) according to the specified format_type using a predefined dictionary of strftime formats.
    def format_datetime(format_type: str) -> str: # Generate a new time object each time, considering timezone current_time = datetime.now(timezone.utc).astimezone() formats = { # Basic date formats "date": "%Y-%m-%d", # 2024-12-10 "date_slash": "%Y/%m/%d", # 2024/12/10 "date_jp": "%Y年%m月%d日", # 2024年12月10日 # Basic datetime formats "datetime": "%Y-%m-%d %H:%M:%S", # 2024-12-10 00:54:01 "datetime_jp": "%Y年%m月%d日 %H時%M分%S秒", # 2024年12月10日 00時54分01秒 "datetime_t": "%Y-%m-%dT%H:%M:%S", # 2024-12-10T00:54:01 # Compact formats for filenames or IDs "compact": "%Y%m%d%H%M%S", # 20241210005401 "compact_date": "%Y%m%d", # 20241210 "compact_time": "%H%M%S", # 005401 # Filename formats "filename_md": "%Y%m%d%H%M%S.md", # 20241210005401.md "filename_txt": "%Y%m%d%H%M%S.txt", # 20241210005401.txt "filename_log": "%Y%m%d%H%M%S.log", # 20241210005401.log # ISO 8601 formats "iso": "%Y-%m-%dT%H:%M:%S%z", # 2024-12-10T00:54:01+0900 "iso_basic": "%Y%m%dT%H%M%S%z", # 20241210T005401+0900 # Log formats "log": "%Y-%m-%d %H:%M:%S.%f", # 2024-12-10 00:54:01.123456 "log_compact": "%Y%m%d_%H%M%S", # 20241210_005401 # Time-only formats "time": "%H:%M:%S", # 00:54:01 "time_jp": "%H時%M分%S秒", # 00時54分01秒 } if format_type not in formats: raise ValueError(f"Unknown format type: {format_type}") try: return current_time.strftime(formats[format_type]) except Exception as e: logger.error("Format error: %s", str(e)) raise RuntimeError(f"Error formatting date: {str(e)}") from e

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ZeparHyfar/mcp-datetime'

If you have feedback or need assistance with the MCP directory API, please join our Discord server