Convertto-EnhancedHTMLFragment alters date format to US

Welcome Forums General PowerShell Q&A Convertto-EnhancedHTMLFragment alters date format to US

This topic contains 3 replies, has 2 voices, and was last updated by

 
Keymaster
7 months, 3 weeks ago.

  • Author
    Posts
  • #96815

    Participant
    Points: 1
    Rank: Member

    I have been using the EnhancedHTML2 module to create some reports for my work and have ran into a problem/odity. Whenever I output a object to the "ConvertTo-EnhancedHTMLFragment" that has a date field it amends the date format from my locale which is UK to US. The best example I can give is if run the following on my own or any other pc's in my enterprise then I get the correct date format being output under the "timecreated" field i.e dd/MM/yyyy

     Get-WinEvent application | ConvertTo-Html -Fragment | Out-File C:\temp\test.html 

    However when I run the following

     Get-WinEvent application | ConvertTo-EnhancedHTMLFragment | Out-File C:\temp\test.html 

    The "timecreated" field is now displayed is US format i.e. MM/dd/yyyy

    I can solve the display issue by simply converting the output to a string with the correct format but then I can't sort that table by date.

    Really hoping somebody has a clue as to why this would happen as I have tried everything I can think of of nothing seems to give me a clue why the function would convert the date in this way.

  • #96824

    Keymaster
    Points: 1,619
    Helping HandTeam Member
    Rank: Community Hero

    It's not the ConvertTo-HTMLFragment command per se; it's just using ConvertTo-HTML -Fragment under the hood. If you look at the raw HTML, I suspect you'll see the date format you wanted. The problem is probably being caused by the dynamic table JavaScript library, which isn't something I can address.

    However, do check the raw HTML in Notepad or something, and let me know what you see.

    • #96842

      Participant
      Points: 1
      Rank: Member

      Hi Don, thank you for replying so quickly. I did as you suggested and looked at the raw html via notepad but found the date format was sill in US rather than UK format. Example below from one of the events when the ConvertTo-EnhancedHTMLFragment function was used

      03/22/2018 15:03:38

      as opposed to the UK format when ConvertTo-HTML -frgamnent is used

      22/03/2018 15:03:38

      checking get-culture returns
      2057 en-GB English (United Kingdom)

      could this be related to the UICulture?

  • #96843

    Keymaster
    Points: 1,619
    Helping HandTeam Member
    Rank: Community Hero

    That's the only thing I can think of. The code is at https://github.com/PowerShellOrg/EnhancedHTML2/blob/master/EnhancedHTML2.psd1; it may be that I'm processing things as strings and not as DateTime objects explicitly.

The topic ‘Convertto-EnhancedHTMLFragment alters date format to US’ is closed to new replies.