{"id":330,"date":"2025-10-24T22:59:40","date_gmt":"2025-10-24T20:59:40","guid":{"rendered":"https:\/\/www.silverice.it\/IpercubeTechWP1\/?page_id=330"},"modified":"2025-10-25T10:12:50","modified_gmt":"2025-10-25T08:12:50","slug":"convertdatecolumns","status":"publish","type":"page","link":"https:\/\/www.silverice.it\/IpercubeTechWP1\/ipercube-utilities\/data-table-functions\/convertdatecolumns\/","title":{"rendered":"Convert Date Columns"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Converts columns in a <em>DataTable<\/em> that contain only valid date strings into actual <em>Date<\/em> type columns.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Only columns where all non-empty values match the formats <strong>&#8220;yyyy-MM-dd&#8221;<\/strong> or <strong>&#8220;yyyyMMdd&#8221;<\/strong> are considered for conversion<\/li>\n\n\n\n<li>Each matching column is replaced with a new column of type Date, populated with parsed values<\/li>\n\n\n\n<li>Empty strings are converted to DBNull<\/li>\n\n\n\n<li>If a value fails parsing during population (unexpected format), it is also set to DBNull<\/li>\n\n\n\n<li>The original column is removed and the new Date column assumes its original name<\/li>\n\n\n\n<li>Conversion is done in-place; the input DataTable is modified directly<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:75%\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column page-snippet is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Geist-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-Geist-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">VB<\/span><span role=\"button\" tabindex=\"0\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>    Public Sub ConvertDateColumns(ByRef dt As DataTable)\n    \n        Dim columnsToConvert As New List(Of String)\n\n        ' Step 1: Identify columns that contain only valid date strings\n        For Each col As DataColumn In dt.Columns\n            Dim isDateCandidate As Boolean = True\n\n            For Each row As DataRow In dt.Rows\n                Dim value As String = row(col.ColumnName).ToString().Trim()\n\n                If value = \"\" Then Continue For\n\n                Dim parsedDate As Date\n                If Not (Date.TryParseExact(value, \"yyyy-MM-dd\", Globalization.CultureInfo.InvariantCulture, Globalization.DateTimeStyles.None, parsedDate) _\n                 OrElse Date.TryParseExact(value, \"yyyyMMdd\", Globalization.CultureInfo.InvariantCulture, Globalization.DateTimeStyles.None, parsedDate)) Then\n                    isDateCandidate = False\n                    Exit For\n                End If\n            Next\n\n            If isDateCandidate Then\n                columnsToConvert.Add(col.ColumnName)\n            End If\n        Next\n\n        ' Step 2: Create new Date columns and replace the original ones\n        For Each colName As String In columnsToConvert\n            Dim newColName As String = colName &amp; \"_date\"\n            dt.Columns.Add(newColName, GetType(Date))\n\n            For Each row As DataRow In dt.Rows\n                Dim value As String = row(colName).ToString().Trim()\n\n                If value = \"\" Then\n                    row(newColName) = DBNull.Value\n                Else\n                    Dim parsedDate As Date\n                    If Date.TryParseExact(value, \"yyyy-MM-dd\", Globalization.CultureInfo.InvariantCulture, Globalization.DateTimeStyles.None, parsedDate) _\n                   OrElse Date.TryParseExact(value, \"yyyyMMdd\", Globalization.CultureInfo.InvariantCulture, Globalization.DateTimeStyles.None, parsedDate) Then\n                        row(newColName) = parsedDate\n                    Else\n                        row(newColName) = DBNull.Value ' fallback for unexpected format\n                    End If\n                End If\n            Next\n\n            dt.Columns.Remove(colName)\n            dt.Columns(newColName).ColumnName = colName\n        Next\n    End Sub\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">Public Sub <\/span><span style=\"color: #DCDCAA\">ConvertDateColumns<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">ByRef<\/span><span style=\"color: #D4D4D4\"> dt As <\/span><span style=\"color: #4EC9B0\">DataTable<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">Dim<\/span><span style=\"color: #9CDCFE\"> columnsToConvert <\/span><span style=\"color: #D4D4D4\">As<\/span><span style=\"color: #569CD6\"> New <\/span><span style=\"color: #DCDCAA\">List<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">Of<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">String<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #6A9955\">&#39; Step 1: Identify columns that contain only valid date strings<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">For<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">Each<\/span><span style=\"color: #D4D4D4\"> col As <\/span><span style=\"color: #4EC9B0\">DataColumn<\/span><span style=\"color: #D4D4D4\"> In dt.Columns<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            <\/span><span style=\"color: #569CD6\">Dim<\/span><span style=\"color: #9CDCFE\"> isDateCandidate <\/span><span style=\"color: #D4D4D4\">As <\/span><span style=\"color: #4EC9B0\">Boolean<\/span><span style=\"color: #D4D4D4\"> =<\/span><span style=\"color: #569CD6\"> True<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            <\/span><span style=\"color: #C586C0\">For<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">Each<\/span><span style=\"color: #D4D4D4\"> row As <\/span><span style=\"color: #4EC9B0\">DataRow<\/span><span style=\"color: #D4D4D4\"> In dt.Rows<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #569CD6\">Dim<\/span><span style=\"color: #9CDCFE\"> value <\/span><span style=\"color: #D4D4D4\">As <\/span><span style=\"color: #4EC9B0\">String<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #DCDCAA\">row<\/span><span style=\"color: #D4D4D4\">(col.<\/span><span style=\"color: #9CDCFE\">ColumnName<\/span><span style=\"color: #D4D4D4\">).<\/span><span style=\"color: #DCDCAA\">ToString<\/span><span style=\"color: #D4D4D4\">().<\/span><span style=\"color: #DCDCAA\">Trim<\/span><span style=\"color: #D4D4D4\">()<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #C586C0\">If<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">value<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #CE9178\">&quot;&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">Then<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">Continue<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">For<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #569CD6\">Dim<\/span><span style=\"color: #9CDCFE\"> parsedDate <\/span><span style=\"color: #D4D4D4\">As <\/span><span style=\"color: #4EC9B0\">Date<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #C586C0\">If<\/span><span style=\"color: #D4D4D4\"> Not (<\/span><span style=\"color: #DCDCAA\">Date<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">TryParseExact<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">value<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;yyyy-MM-dd&quot;<\/span><span style=\"color: #D4D4D4\">, Globalization.CultureInfo.InvariantCulture, Globalization.DateTimeStyles.None,<\/span><span style=\"color: #9CDCFE\"> parsedDate<\/span><span style=\"color: #D4D4D4\">) _<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                 OrElse <\/span><span style=\"color: #DCDCAA\">Date<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">TryParseExact<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">value<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;yyyyMMdd&quot;<\/span><span style=\"color: #D4D4D4\">, Globalization.CultureInfo.InvariantCulture, Globalization.DateTimeStyles.None,<\/span><span style=\"color: #9CDCFE\"> parsedDate<\/span><span style=\"color: #D4D4D4\">)) <\/span><span style=\"color: #C586C0\">Then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #9CDCFE\">isDateCandidate<\/span><span style=\"color: #D4D4D4\"> =<\/span><span style=\"color: #569CD6\"> False<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #C586C0\">Exit For<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #C586C0\">End If<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            <\/span><span style=\"color: #C586C0\">Next<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            <\/span><span style=\"color: #C586C0\">If<\/span><span style=\"color: #D4D4D4\"> isDateCandidate <\/span><span style=\"color: #C586C0\">Then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                columnsToConvert.<\/span><span style=\"color: #DCDCAA\">Add<\/span><span style=\"color: #D4D4D4\">(col.<\/span><span style=\"color: #9CDCFE\">ColumnName<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            <\/span><span style=\"color: #C586C0\">End If<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">Next<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #6A9955\">&#39; Step 2: Create new Date columns and replace the original ones<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">For<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">Each<\/span><span style=\"color: #D4D4D4\"> colName As <\/span><span style=\"color: #4EC9B0\">String<\/span><span style=\"color: #D4D4D4\"> In columnsToConvert<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            <\/span><span style=\"color: #569CD6\">Dim<\/span><span style=\"color: #9CDCFE\"> newColName <\/span><span style=\"color: #D4D4D4\">As <\/span><span style=\"color: #4EC9B0\">String<\/span><span style=\"color: #D4D4D4\"> =<\/span><span style=\"color: #9CDCFE\"> colName<\/span><span style=\"color: #D4D4D4\"> &amp; <\/span><span style=\"color: #CE9178\">&quot;_date&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            dt.Columns.<\/span><span style=\"color: #DCDCAA\">Add<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">newColName<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #DCDCAA\">GetType<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #DCDCAA\">Date<\/span><span style=\"color: #D4D4D4\">))<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            <\/span><span style=\"color: #C586C0\">For<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">Each<\/span><span style=\"color: #D4D4D4\"> row As <\/span><span style=\"color: #4EC9B0\">DataRow<\/span><span style=\"color: #D4D4D4\"> In dt.Rows<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #569CD6\">Dim<\/span><span style=\"color: #9CDCFE\"> value <\/span><span style=\"color: #D4D4D4\">As <\/span><span style=\"color: #4EC9B0\">String<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #DCDCAA\">row<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">colName<\/span><span style=\"color: #D4D4D4\">).<\/span><span style=\"color: #DCDCAA\">ToString<\/span><span style=\"color: #D4D4D4\">().<\/span><span style=\"color: #DCDCAA\">Trim<\/span><span style=\"color: #D4D4D4\">()<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #C586C0\">If<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">value<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #CE9178\">&quot;&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">Then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #DCDCAA\">row<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">newColName<\/span><span style=\"color: #D4D4D4\">) = DBNull.Value<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #C586C0\">Else<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #569CD6\">Dim<\/span><span style=\"color: #9CDCFE\"> parsedDate <\/span><span style=\"color: #D4D4D4\">As <\/span><span style=\"color: #4EC9B0\">Date<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #C586C0\">If<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">Date<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">TryParseExact<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">value<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;yyyy-MM-dd&quot;<\/span><span style=\"color: #D4D4D4\">, Globalization.CultureInfo.InvariantCulture, Globalization.DateTimeStyles.None,<\/span><span style=\"color: #9CDCFE\"> parsedDate<\/span><span style=\"color: #D4D4D4\">) _<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                   OrElse <\/span><span style=\"color: #DCDCAA\">Date<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">TryParseExact<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">value<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;yyyyMMdd&quot;<\/span><span style=\"color: #D4D4D4\">, Globalization.CultureInfo.InvariantCulture, Globalization.DateTimeStyles.None,<\/span><span style=\"color: #9CDCFE\"> parsedDate<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #C586C0\">Then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                        <\/span><span style=\"color: #DCDCAA\">row<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">newColName<\/span><span style=\"color: #D4D4D4\">) =<\/span><span style=\"color: #9CDCFE\"> parsedDate<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #C586C0\">Else<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                        <\/span><span style=\"color: #DCDCAA\">row<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">newColName<\/span><span style=\"color: #D4D4D4\">) = DBNull.Value <\/span><span style=\"color: #6A9955\">&#39; fallback for unexpected format<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #C586C0\">End If<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #C586C0\">End If<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            <\/span><span style=\"color: #C586C0\">Next<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            dt.Columns.<\/span><span style=\"color: #DCDCAA\">Remove<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">colName<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            dt.<\/span><span style=\"color: #DCDCAA\">Columns<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">newColName<\/span><span style=\"color: #D4D4D4\">).<\/span><span style=\"color: #9CDCFE\">ColumnName<\/span><span style=\"color: #D4D4D4\"> =<\/span><span style=\"color: #9CDCFE\"> colName<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">Next<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">End Sub<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Converts columns in a DataTable that contain only valid date strings into actual Date type columns.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":282,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-330","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/pages\/330","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/comments?post=330"}],"version-history":[{"count":6,"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/pages\/330\/revisions"}],"predecessor-version":[{"id":371,"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/pages\/330\/revisions\/371"}],"up":[{"embeddable":true,"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/pages\/282"}],"wp:attachment":[{"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/media?parent=330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}