- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我使用下面的函数将公历日期转换为波斯日期,但我无法编写一个函数来进行反向转换。我想要一个将波斯语日期(类似于“1390/07/18 12:00:00”的字符串)转换为格鲁吉亚语日期的函数。
public static string GetPdate(DateTime _EnDate)
{
PersianCalendar pcalendar = new PersianCalendar();
string Pdate = pcalendar.GetYear(_EnDate).ToString("0000") + "/" +
pcalendar.GetMonth(_EnDate).ToString("00") + "/" +
pcalendar.GetDayOfMonth(_EnDate).ToString("00") + " " +
pcalendar.GetHour(_EnDate).ToString("00") + ":" +
pcalendar.GetMinute(_EnDate).ToString("00") + ":" +
pcalendar.GetSecond(_EnDate).ToString("00");
return Pdate;
}
最佳答案
DateTime
实际上总是 在公历中。即使您创建指定不同日历的实例,Day
、Month
、Year
等属性返回的值也是公历。
以伊斯兰历的开始为例:
using System;
using System.Globalization;
class Test
{
static void Main()
{
DateTime epoch = new DateTime(1, 1, 1, new HijriCalendar());
Console.WriteLine(epoch.Year); // 622
Console.WriteLine(epoch.Month); // 7
Console.WriteLine(epoch.Day); // 18
}
}
不清楚您如何创建此方法的输入,或者您是否应该真的将其转换为字符串格式。 (或者为什么你不使用内置的字符串格式化程序。)
可能您可以只使用:
public static string FormatDateTimeAsGregorian(DateTime input)
{
return input.ToString("yyyy'/'MM'/'dd' 'HH':'mm':'ss",
CultureInfo.InvariantCulture);
}
这将适用于 任何 DateTime
已适当 创建的 - 但我们不知道您在此之前做了什么。
示例:
using System;
using System.Globalization;
class Test
{
static void Main()
{
DateTime epoch = new DateTime(1, 1, 1, new PersianCalendar());
// Prints 0622/03/21 00:00:00
Console.WriteLine(FormatDateTimeAsGregorian(epoch));
}
public static string FormatDateTimeAsGregorian(DateTime input)
{
return input.ToString("yyyy'/'MM'/'dd' 'HH':'mm':'ss",
CultureInfo.InvariantCulture);
}
}
现在,如果您在创建 DateTime
时没有指定日历,那么您根本就没有真正创建波斯日期。
如果你想要跟踪他们日历系统的日期,你可以使用我的 Noda Time项目,现在支持波斯历:
// In Noda Time 2.0 you'd just use CalendarSystem.Persian
var persianDate = new LocalDate(1390, 7, 18, CalendarSystem.GetPersianCalendar());
var gregorianDate = persianDate.WithCalendar(CalendarSystem.Iso);
关于c# - 如何将波斯日期转换为公历日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13329631/
我正在做一项作业,涉及使用 GregorianCalendar。规范说我需要使用 setLenient(false);我该怎么做呢?我还需要设置一个固定日期(2009 年 1 月 1 日),以便我的计
嘿伙计们,我知道这是一个非常简单的问题,但我是 Java 新手,所以请耐心等待。我创建了一个程序,可以计算一本书发行后返回的时间!所以请帮帮我。 这是我的代码: public void loan(
我在夏令时方面遇到了一个奇怪的问题。我有一个 java 程序计划在每天上午 00:05 运行,但昨天它在 23:05 运行。我正在使用公历在java中安排这个程序。在此之前,它从未在 23:05 运行
我在 Java 中使用 GregorianCalendar,我想知道如何使用它来检查日期是否有效(例如:检查 2 月 29 日是否仅在闰年, 检查日期是否不早于当前数据等)。 我已经创建了一个 Gre
我一直在试图弄清楚这个问题。这是关于JavaFX控件在按下回车键时选择月份、数字日和年的名称。我什至尝试使用面向对象来解决这个问题。问题在图片链接中。 Here is the question in
这个问题已经有答案了: Why is January month 0 in Java Calendar? (18 个回答) 已关闭 8 年前。 对于此代码,我必须做的就是使用 GregorianCal
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎偏离主题,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或 include a mini
我创建了一个 TreeMap的 存储引入 GPS 闰秒的日期: leapSecondsDict = new TreeMap(); GregorianCalendar calendar = ne
在完成 JUnit 之后,我正在做一些基于文档的测试,在表格中包含以下项目 输入变量 - 预期结果 - 实际结果......通过或失败...... 如果我将日期和时间传递给我的方法 “01AUG07”
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: Java Calendar Setting Incorrectly 我有这个代码: GregorianCalenda
我必须为我的 Java 类(class)制作一个功能齐全的日历,但我被卡住了。我正在使用 GregorianCalendar 来获取当前的日、月、年等。我正在使用 JButton 来填充填写日历的 4
我正在使用公历来设置日期值并尝试获取设置的值。代码如下 Constants.sSetDate_calendar = new GregorianCalendar(year,month,day);//
我有一个 9 月 2 日星期二的 GregorianCalendar 实例。 valñue 以毫秒为单位进行检查,没有问题。我想要下一个星期日(7 日)23:59:59 的另一个日历。所以: Greg
我有一个 JSP 页面,里面有一个 java 变量,其名称为 ${entry.date},该变量的类型为 Gregorian Calendar ,它放置在循环并最终生成错误日志表。现在我的问题是,在我
下面的程序是教程的一部分。我在这里有一些困惑包含以下几行: GregorianCalendar gCal = new GregorianCalendar();
我正在编写一个类来简化我可以使用 GregorianCalendar 进行的所有操作。我需要做的操作是:- 获取字符串格式的日期,翻译成意大利语;- 在两个日期之间进行减法。我没有使用过日历、日期和时
我是一个非常业余的编码员,他似乎无法解决从用户输入的整数中获取星期几(例如星期日、星期一等)的问题。我只是想给用户一条消息,其中列出了 (mm/dd/yyyy, dayOfWeek),但我没有改变星期
一些历法改革者寻求使一年中每个月的长度相等。这通常是通过创建一个日历来实现的,该日历有 13 个月,每个月有 4 周(28 天),共 364 天。已知最早的此类建议是格鲁吉亚日历 - more det
相同的代码 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:
我正在尝试将 pandas 数据帧转换为 SPSS 格式,但在转换 datetime64 变量时遇到问题。 使用以下代码: import pandas as pd import datetime as
我是一名优秀的程序员,十分优秀!