# Cylc cyclepoint and the letter "T"

**URL:** <https://cylc.discourse.group/t/cylc-cyclepoint-and-the-letter-t/1228>\
**Category:** Cylc Support\
**Created:** [August 7, 2025, 6:12pm UTC](https://cylc.discourse.group/t/cylc-cyclepoint-and-the-letter-t/1228 "2025-08-07T18:12:53Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ejhyer](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/ejhyer/32/307_2.png) [@ejhyer](https://cylc.discourse.group/u/ejhyer)\
**Post date:** [August 7, 2025, 6:12pm UTC](https://cylc.discourse.group/t/cylc-cyclepoint-and-the-letter-t/1228/1 "2025-08-07T18:12:53Z")

</div>

cylc 8.4.2

cylc 8.4.2

```auto
> export CYLC_TASK_CYCLE_POINT=20230120T0000Z
> cylc cyclepoint --offset-hours=0 --template="a string with %Y%m%d%H"
a string with 2023012000
> cylc cyclepoint --offset-hours=0 --template="a string with no tags"
a string with no tags
> cylc cyclepoint --offset-hours=0 --template="a string with no Tags"
a string with no 

```

You can try it yourself! The `cylc cyclepoint` parser will stop when it encounters a capital `T`.

---

<div class="post-metadata">

**Author:** ![hilary.j.oliver](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/hilary.j.oliver/32/4_2.png) [@hilary.j.oliver](https://cylc.discourse.group/u/hilary.j.oliver)\
**Post date:** [August 8, 2025, 12:00am UTC](https://cylc.discourse.group/t/cylc-cyclepoint-and-the-letter-t/1228/2 "2025-08-08T00:00:17Z")

</div>

Well that’s interesting.

Probably something to do with the special status of `T` in datetime strings.

Have you got a use case that this breaks?

If so, have you tried using the more general `isodatetime` command? - it should be in your Cylc environment.

(Note the `cylc cyclepoint` command help mentions `isodatetime`)

---

<div class="post-metadata">

**Author:** ![ejhyer](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/ejhyer/32/307_2.png) [@ejhyer](https://cylc.discourse.group/u/ejhyer)\
**Post date:** [August 8, 2025, 12:16am UTC](https://cylc.discourse.group/t/cylc-cyclepoint-and-the-letter-t/1228/3 "2025-08-08T00:16:41Z")

</div>

Hi,  
I can confirm that `isodatetime` does not show this behavior:

`> isodatetime --version`  
`3.1.0`  
`> isodatetime --print-format “a string with %Y%m%d%H”`  
`a string with 2025080800`  
`> isodatetime --print-format “a string with no tags”`  
`a string with no tags`  
`> isodatetime --print-format “a string with no Tags”`  
`a string with no Tags`

---

<div class="post-metadata">

**Author:** ![oliver.sanders](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/oliver.sanders/32/110_2.png) [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Post date:** [August 8, 2025, 8:35am UTC](https://cylc.discourse.group/t/cylc-cyclepoint-and-the-letter-t/1228/4 "2025-08-08T08:35:30Z")

</div>

The `cylc cyclepoint` command is a rather old utility, I would recommend using `isodatetime` for your datetime formatting/arithmetic needs.

Isodatetime is one of our projects and a direct dependency of Cylc so is safe to rely on.

---

<div class="post-metadata">

**Author:** ![MetRonnie](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/metronnie/32/125_2.png) [@MetRonnie](https://cylc.discourse.group/u/MetRonnie)\
**Post date:** [August 13, 2025, 1:26pm UTC](https://cylc.discourse.group/t/cylc-cyclepoint-and-the-letter-t/1228/5 "2025-08-13T13:26:16Z")

</div>

(This bug did exist in isodatetime but was fixed in 3.0.0 - [Fix missing T in dump when formatting\_string has time zone after T by MetRonnie · Pull Request #154 · metomi/isodatetime · GitHub](https://github.com/metomi/isodatetime/pull/154))
